为什么我的打印三角号码的代码不起作用?

时间:2018-10-13 17:23:11

标签: java loops while-loop

“我的代码”不会根据公式打印出三角数,而只会循环数字1。

我的错误是什么?

public class Triangular{
    public static void main(String[] args) {
        int n = 1;
        int t = (n * (n + 1)) / 2;

        while(n <= 10) {
            n++;
            System.out.println(t);
        }
    }
}

2 个答案:

答案 0 :(得分:3)

尽管您将n加1,但您没有在循环内重新计算t的值。

尝试计算循环内的t值,例如:

public static void main(String[] args)
{
     int n = 0;
     int t = 0;
     while (n <= 10)
     {
        n++;
        t = (n * (n + 1))/2;
        System.out.println(t);
    }

}

每次增加n的值时,都需要通过将n的新值传递到公式中来重新计算t的值。

答案 1 :(得分:2)

t更改时,不会重新计算

n。您需要在while循环中分配它。另外,您也可以这样做:

public class Triangular {
    public static void main(String[] args) {
        int n = 1;
        int t = 1;

        while(n <= 10) {
            System.out.println(t);
            n++;
            t += n;
        }
    }
}