循环不断打印每个增加的结果

时间:2018-09-08 16:24:57

标签: java loops

我希望程序跟踪每个正整数的和,直到100,例如: 从1到1的正整数之和为1 从1到2的正整数之和是3 ... 从1到100的正整数之和为5050

如果可能的话,我宁愿使用while循环,因为我还不先进,所以不使用任何数组或任何花哨的东西。

使用while循环编辑此代码并跟踪100个结果将是完美的

public class SumNatural {

    public static void main(String[] args) {

        int num = 100, sum = 0;

        for(int i = 1; i <= num; ++i) {
            // sum = sum + i;
            sum += i;
        }

        System.out.println("Sum of positive integers from... " + "is " + sum);
    }
}

2 个答案:

答案 0 :(得分:1)

只需在循环内移动System.out.println语句即可使您的for工作:

for(int i = 1; i <= num; ++i) {
    System.out.println("Sum of positive integers from 1 to " + i + " is " + (sum += i));
}

对于while语句,将需要一个在循环外部声明的变量。假设该变量i应该在while块的末尾递增。

int i = 1;
while (i <= num) {
    System.out.println("Sum of positive integers from 1 to " + i + " is " + (sum += i++));
}

出于可读性考虑,您可能需要使用String.format

System.out.format("Sum of positive integers from 1 to %d is %d\n", i, sum += i++);

答案 1 :(得分:0)

这就是问题的答案

public class HelloWorld{
     public static void main(String []args){
        int num = 100, sum = 0, i=1;

        while(i<=num)   {
            sum += i;
            System.out.println("Sum of positive integers from... " +i+ "is " + sum);
            i++;
        }

     }
}

在这里i在开始时初始化,i++在增加i的值,直到while条件失败(类似于for循环)