0

教科書からの実践プログラムです。このプログラムのアウトプリントを把握する必要があります。プログラムは次のとおりです。

public class EchoTestDrive {
    public static void main(String[] args) {
        Echo e1 = new Echo();
        Echo e2 = new Echo();

        int x = 0;
        while (x < 4) {
            e1.hello();
            e1.count = e1.count + 1;
            if (x == 3) {
                e2.count = e2.count + 1;
            }
            if (x > 0) {
                e2.count = e2.count + e1.count;
            }
            x = x + 1;
        }
        System.out.println(e2.count);
    }
}

class Echo {
    int count = 0;

    void hello() {
        System.out.println("helloooo... ");
    }
}

このプログラムのアウトプリントの答えは次のとおりです。

helloooo...
helloooo...
helloooo...
helloooo...
10

これが主にどのように計算されるのかよくわかりません。x が 4 回繰り返されたようです。x=0; x=1;x=2; x=3。また、e1.count=e1.count+1 であるため、e1 の値は 1,2,3,4 である必要があります。次に、私は混乱しました。この場合、どのように e2 を計算できますか?

4

2 に答える 2

1

観測変数出力

public class EchoTestDrive {
    public static void main(String[] args) {
        Echo e1 = new Echo();
        Echo e2 = new Echo();

        int x = 0;
        while (x < 4) {
            e1.hello();
            e1.count = e1.count + 1;
            System.out.println("e1.count = " + e1.count);
            if (x == 3) {
                e2.count = e2.count + 1;
                System.out.println("x == 3 e2.count = " + e2.count);
            }
            if (x > 0) {
                e2.count = e2.count + e1.count;
                System.out.println("x > 0 e2.count = " + e2.count);
            }

            x = x + 1;
        }
        System.out.println(e2.count);
    }
}
于 2013-10-05T03:20:51.230 に答える