Der Fehler ist, dass setAlleZero()
keine Variable "j" hat,
aber versucht eine zu verwenden.
Die Variable "j" innerhalb von ausgeben()
kann von
setAlleZero()
nicht gesehen werden.
Schaut zurück auf die vorherigen zwei Seiten, um das korrekte und das fehlerhafte Programm zu sehen. Hier ist eine weitere Version des Programms. Dieses Mal mit einer (unvollständigen) Methode, die Werte von einem Array in ein anderes kopieren wird.
Beide Arrayobjekte müssen existieren, bevor kopieren()
aufgerufen wird und beide müssen die gleiche Anzahl an Elementen haben.
Beachtet, wie das die Deklaration von zielArr
sicherstellt.
// Array Beispiel
//
class ArrayAendern
{
public void ausgeben ( int[] x )
{
for (int j=0; j < x.length; j++)
System.out.print( x[j] + " " );
System.out.println( );
}
// Quellarray in das Zielarray kopieren
public void kopieren (int[] quelle, int[] ziel)
{
}
}
public class ArrayAendernTest
{
public static void main(String[] args)
{
ArrayAendern arrAendern = new ArrayAendern();
int[] quellArr = {27, 19, 34, 5, 12} ;
int[] zielArr = new int[ quellArr.length ];
arrAendern.kopieren( quellArr, zielArr );
System.out.println( "Nachher kopieren:" );
arrAendern.ausgeben( zielArr );
}
}
Wir ergänzen den fehlenden Code.