Eine gute Antwort wäre:

Nein. Die beiden Variablen j sind lokal und damit nur in ihrer jeweiligen Methode sichtbar. Es sind zwei unterschiedliche lokale Variablen.

Eine Methode kann die lokale Variable einer anderen Methode nicht verwenden

Hier ist das Programm, (noch einmal!) mit einem geringfügigen Fehler. Können Sie den Fehler finden?

// Array Beispiel
//
class ArrayAendern
{
  void ausgeben ( int[] x )
  {
    for ( int j=0; j < x.length; j++ )
      System.out.print( x[j] + " " );
    System.out.println( );
  }

  void setElementZero ( int[] x, int index )
  {
    if ( index < x.length )
      x[ index ] = 0;
  }
  // Alle Elemente auf 0 setzen
  void setAlleZero ( int[] ar )
  {
    for ( j=0; j < ar.length; j++ )
      ar[j] = 0;
  }

}

class ArrayAendernTest
{
  public static void main ( String[] args )
  {
    ArrayAendern arrAendern = new ArrayAendern();
    int[] arr = {27, 19, 34, 5, 12} ;
    System.out.println( "Vorher:" );
    arrAendern.ausgeben( arr );

    arrAendern.setAlleZero( arr  );
    System.out.println( "Nachher:" );
    arrAendern.ausgeben( arr );
  }
}

Bei dem Fehler handelt es sich um einen Syntaxfehler. Der Compiler wird ihn auf der Stelle finden und das Programm nicht kompilieren.

FRAGE 12:

Wo ist der Fehler?

Inhaltsverzeichnis