Nein. Die beiden Variablen j
sind lokal und damit nur in ihrer jeweiligen Methode sichtbar. Es sind zwei unterschiedliche lokale Variablen.
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.