zur vorherigen Seite  zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

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 kleinen Fehler. Können wir den Fehler finden?

Der Fehler ist ein Syntaxfehler. Der Compiler wird ihn leicht finden und das Programm nicht kompilieren.


// 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( );
  }

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

}

public 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 );
  }
}

FRAGE 12:

Wo ist der Fehler?

zur vorherigen Seite  zum Inhaltsverzeichnis   zur nächsten Seite