Eine gute Antwort wäre:

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.

Array Kopieren-Methode

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.

FRAGE 13:

Ergänzen Sie den fehlenden Code.

Inhaltsverzeichnis