# Parameterübergabe und Gültigkeitsbereiche



## ellegance (27. Jul 2015)

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




```
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]
```


----------



## Thallius (27. Jul 2015)

Vielleicht schaust du Dir die erste Zeile in getSum() noch einmal genauer an?

Gruß

Claus


----------



## ellegance (27. Jul 2015)

```
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...
```


----------

