Parameterübergabe und Gültigkeitsbereiche

ellegance

Mitglied
Hallo, unten im code sind vier s.o.p(ln). Ich habe mal versucht ohne es auszuführen auf die Lösungen zukommen. Leider war es nur bei einem richtig. Wenn ich System.out.println(i);ausgebe dann kommt 5 raus. aber wieso? ich hatte nur die System.out.println(j); richtig da kam 12 raus. Kann mir einer helfen wie ich auf die Lösungen 5,5 und 9 komme ohne es auszuführen?

Wie ich gedacht habe:
int i = getSum(j, myB, myC); 12+2+9=23 das ist ja falsch ^^
und bei den letzten beiden s.o.p(ln) kam ich auch nicht zurecht.

LG



Code:
public class A {
   public static int getSum(int j, B b, C c) {
     j = j + b.i - c.f;
     b.i = j;
     return j;
     }
     public static void main(String[] args) {
     int j = 12;
     B myB = new B(2);
     C myC = new C(9);
     int i = getSum(j, myB, myC);
     System.out.println(i);
     System.out.println(j);
     System.out.println(myB.i);
     System.out.println(myC.f);
}
}
class B {
public int i = 0;
B(int j) {
i = j;
}
}
class C {
public int f = 12;
C(int g) {
f=g;
}
}
[\code]
 

ellegance

Mitglied
Code:
public class A {
   public static int getSum(int j, B b, C c) {
     j = j + b.i - c.f;
     b.i = j;
     return j;
     }
[\code]

was ist denn dieses B b, C c? und b.i? c.f? da habe ich leider viele Verständnisprobleme...
 

Neue Themen


Oben