かなり基本的なJavaコードを理解するのに苦労しています.x = 2をコンパイルする方法がわかりません. 私のロジックでは4である必要があるためです。コード自体:
public class eksami_harjutused {
public static int x=2;
public static int y=2;
public static void main(String[] args) {
foo(bar(foo(x)));
System.out.println("main x,y: "+x+" "+y);
}
public static int foo(int x) {
x++;
y++;
System.out.println("foo x,y: "+x+" "+y);
return x;
}
public static int bar(int x) {
int z=0, y=10, u=0;
--y;
for(y=1; y<(x*x); y++) {
for(z=1; z<x; z++) {
u++;
}
}
System.out.println("bar x,y: "+x+" "+y);
return z;
}
}
次のように出力されます。
フー x、y: 3 3
バー x、y: 3 9
フー x,y: 4 4
メイン x、y: 2 4