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.
Schauen Sie 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 die Werte von einem Array in ein anderes kopieren wird.
// Array Beispiel // class ArrayAendern { 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 void kopieren (int[] quelle, int[] ziel) { // mehr Anweisungen hier } } 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 ); } }
Beide Arrayobjekte müssen existieren, bevor kopieren()
aufgerufen wird und beide müssen die gleiche Anzahl an Elementen haben.
Beachten Sie, wie das die Deklaration von zielArr
sicherstellt.