ciao a tutti! ho fatto una funzione
barca e barca_utile sono delle classi che al loro interno hanno i double[][] dritta e sinistra.codice:barca_utile.Dritta=barca.Dritta; barca_utile.X_D=barca.X_D; barca_utile.Z_D=barca.Z_D; // -----------SINISTRA------------ riempito = false; if(!barca.HF){ barca_utile.Dritta=barca.Sinistra; for(int i=0;i<barca_utile.Dritta.length;i++){ for(int j=0; j<barca_utile.Dritta[0].length;j++){ barca_utile.Dritta[i][j]=-barca_utile.Dritta[i][j]; } } barca_utile.X_D=barca.X_S; barca_utile.Z_D=barca.Z_S; } else{ for(int i=1; i<barca.Dritta.length;i++) System.out.println(Arrays.toString(barca.Dritta[i])); for(int i=0;i<barca_utile.Dritta.length;i++){ for(int j=0; j<barca_utile.Dritta[0].length;j++){ barca_utile.Dritta[i][j]=-barca_utile.Dritta[i][j]; } } }
allora ad un certo punto io scrivo
barca_utile.Dritta=barca.Dritta;
e poi, come si vede faccio barca_utile.Dritta*-1 (ciclo for centrale)
ma si modifica anche barca.Dritta!!!!![]()
penso perchè gli ho passato un puntatore o sbaglio? e come posso risolvere?

Rispondi quotando
