Ignorieter erster Mainaufruf

Vitali

Mitglied
Warum wird die Methode magic ignotiert, obwohl sie als erstes in der main steht?

PS: warum ist tmp nicht = 1;
Java:
public class Scope {

	private static int tmp = 0*30;
	private static int c =5;
	
	public static void magic(int[] zahlen, int c) {
		int tmp = zahlen[1];
		zahlen[1] = zahlen[2];
		zahlen[2] = tmp;
		
		System.out.println("tmp = "+tmp);
	}
	
	public static void main(String[] args){
		int werte[] = {2,5,3};
		int c = 27 / Scope.c;
		
		magic(werte,c);
		
		for (int i = 0;i< werte.length;i++){
			System.out.println("werte[" + i + "] = " + werte[i]);
		}
		System.out.println("tmp = "+(tmp++));
		System.out.println("c = "+c);
	}
}
 
Welches tmp? Das statische Attribut oder die lokale Variable in der statischen Methode magic?

P.S.: mach die mal mit einem Debugger vertraut, dann siehst du so was auch alleine.
 
@eRaaaa
Wenn sie ausgeführt wird warum ist die erste Zeile im stdout nicht tmp = ...
@FArt
das soll leider so kompliziert sein (Klausurenfrage).
folgendes denk ich mir:
ein statik attribut ist isoliert: Es kann nur eins davon geben (?die letzte Variation?).
Da es aber in magic variert wird liegt nochmal die Vermutung nahe das magic nicht ausgeführt wird
 

Zurück
Oben