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 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 ); } }
Wo ist der Fehler?