首页 > 解决方案 > 这个代码怎么会出现一个数字三角形?

问题描述

我是java的初学者,这段代码在我正在阅读的书中使用,但我似乎无法弄清楚它是如何工作的。

编码:

public class NumberTriangleWhile {
    public static void main(String[] args) {
        int number = 0;
        String output = "";

        while (number < 10) {
        output = output + number;
            System.out.println(output);
            number++;
        }
    }
}

输出:

0
01
012
0123
01234
012345
0123456
01234567
012345678
0123456789

我不明白为什么要打印每个数字,然后以某种方式存储并在下一行中重复使用,有人可以解释一下吗?

标签: javastring

解决方案


output是一个字符串变量。当你像这样添加一些东西时:

output = output + number;

它不添加 的数值number,而只是将数字与原始字符串连接起来。例如,如果is outputoriginal1numberis 2,上面的行将变为output, 12not 3

循环一直循环直到number10。在第一次迭代中,output从空字符串变为0. 在第二次迭代中(number现在已增加到 1),output更改为01(原来的0加入与当前值number- 1)。在第三次迭代中,number递增到 2.2然后添加output到 form的末尾012。这一直持续到数字为 10。

您的误解可能是您认为output打印后变得空洞。它不是。它仍将保持相同的值。


推荐阅读