三角数Java

时间:2018-10-30 13:09:11

标签: java triangular

问题是对于相同结果(三角数)有两种类型的代码

1。

           for (int i = 1; i <= 10; i++) {
            int triangular = 0;

            for (int j = 1; j <= i; j++) {
                triangular = triangular + j;
            }
            System.out.println(i + " = " + triangular);

2。

int x =1; 
int triangular = 1;

while(x<=10){


System.out.println(x+ "=" +triangular);
 x++;
triangular= triangular+x;

}

为什么(1)“ int triangualr”为0,而(2)为1?愚人了解

2 个答案:

答案 0 :(得分:0)

因为在第二个代码中,第一个“三角形”以值= 1打印 在第一个代码中,“三角形”首先增加(从0到1),然后以值= 1打印。

因此,在两种情况下,您首先看到的都是三角形= 1。

答案 1 :(得分:0)

在方法1中,每次在for循环内都初始化int三角。嵌套for循环正在计算三角形的值,然后打印该值

       for (int i = 1; i <= 10; i++) {
            int triangular = 0;

            for (int j = 1; j <= i; j++) {
                triangular = triangular + j;
            }
            System.out.println(i + " = " + triangular);
       }

但是在方法2中,x = 1的值打印在while循环的第一行中,然后x的值递增

int x =1; 
int triangular = 1;
while(x<=10){
    System.out.println(x+ "=" +triangular);
    x++;
    triangular= triangular+x;
}

因此,在第一种方法中,三角形的值从1开始计算,在第二种方法中,三角形的值不针对第一次迭代计算。