Given the following code:
public class BicEict {
private int prul = 0;
public static void main(String[] args) {
BicEict b0 = new BicEict();
A
BicEict b1 = new BicEict();
b0.osdes(1);
b0 = b1;
b1 = new BicEict();
b1.osdes(10);
b0.osdes(100);
b1.osdes(1000);
B
}
private static int sa = 0;
public void osdes(int biil) {
C
int de = 0;
de += biil;
prul += biil;
sa += biil;
System.out.println("de=" + de + " prul=" + prul + " sa=" + sa);
}
}
sa, de, prul, b0, b1] are in scope at A ?Output:
sa=1 de=1 prul=1 sa=10 de=10 prul=11 sa=100 de=100 prul=111 sa=1000 de=1010 prul=1111
In scope at A : prul, b0, b1
In scope at B : prul
In scope at C : prul, de, sa
Explanation (which you do not need to write out in your submitted solution):
prul is a static variable, de is an instance variable, and sa is a local variable.
At A , de is out of scope because it is an instance variable, but main is a static method. sa is out of scope because it is local to osdes.
At B , b0 and b1 are out of scope because they are not declared yet. de is out of scope because it is an instance variable, but main is a static method. sa is out of scope because it is local to osdes.
At C , b0 and b1 out of scope because they are local to the main method.
Related puzzles: