-1

在这段代码中,我很困惑为什么它打印出“0 1 2 3”而不是“3 2 1 0”

    int y = 3;
    String s = " ";
    while (y>-1)
    {
        s = y + " " + s;
        y--;
    }
    System.out.print(s);

谢谢。

4

3 回答 3

6
s = y + " " + s;

在字符串的前面添加 y ,因此:

s = 3 
s = 2 3
s = 1 2 3
s = 0 1 2 3
于 2013-11-01T08:38:48.680 回答
0
step 1:
s = 3

step 2:
s = 2 3;

step 3:
s = 1 2 3

同样,在每个循环中,y 的值都被添加到字符串 s 的起点

于 2013-11-01T08:40:59.077 回答
0

这是因为您将最新值添加到字符串中。如果您希望输出为“3 2 1 0”,您应该将您的行从

s = y + " " + s;

s = s + " " + y;
于 2013-11-01T08:41:44.803 回答