Java程序,计算从1到100的数字

时间:2017-09-13 09:32:31

标签: java

我最近开始学习Java,并希望编写从1到100计算数字的代码(结果将是5050)

代码应该像1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 ......等等

我已使用此代码对其进行了测试:

public class T35{

    public static void main(String[] args) {
        int nmb;

        for(nmb= 1; nmb<= 100; nmb++){

            System.out.println(nmb);

        }

    }

}

但结果是它在没有添加数字的情况下从1变为100。

不确定是否需要使用while,但无法计算数学。

5 个答案:

答案 0 :(得分:2)

nmb++等于nmb = nmb + 1。它只会增加一个,直到它停止。

您应该添加一个新变量,让我们称之为total,并在每次迭代时将nmb加到它上面。

public class T35{

    public static void main(String[] args) {
        int nmb;
        int total = 0;

        for(nmb= 1; nmb<= 100; nmb++){
            total = total + nmb;
        }
        System.out.println(total);

    }

}

这将做你想要的。

答案 1 :(得分:2)

您已经开始通过实施for循环来学习Java。不幸的是,这可能是整个语言中最不直观的语法。它继承自c,虽然方便,但实际上没有意义:三个位置的含义与自然语言没有相似之处(与ifwhileimplements不同等等。)。从简单的结构开始要好得多,直到你掌握了一切。

Java 8提供了一种更直观的(在我看来)表示要添加的一组数字的方式。在你的情况下,你真的不想迭代从1到100的所有数字。你只想要一种方法来表示所有这些数字,然后总结它们。在Java 8中,这个概念由整数流表示:IntStream类。它提供了一种方便的方式来询问“x和y之间的所有整数”:rangeClosed方法。它提供了一种将所有整数添加到一起的方法:sum方法。

因此,您的操作可以使用一个简单的Java语句实现:

IntStream.rangeClosed(1, 100).sum();

这似乎是一个非常简单的陈述:给我一个1到100范围内的整数流,然后求它们。更好的是,你不需要声明一个你没有真正用过的变量。

答案 2 :(得分:1)

输出nmb的值,该值是您迭代的数值,不会使用当前总和增加实际值。

您应该在循环之前引入一个局部变量来计算和维护实际总和。
此外,int nmb;可以直接在循环中声明 缩小变量的范围使代码更加健壮。

public class T35{

    public static void main(String[] args) {
        int sum = 0;

        for(int i= 1; i<= 100; i++){    
            sum += i;
            System.out.println(sum);    
        }    
    }

}

答案 3 :(得分:1)

嘿,你可以找到1到100这样的总和。只是一个选择。

您可以使用数学公式来计算数字之和,即n(n + 1)/ 2

public class test {

    public static void main(String[] args) {
        int i =100;
        int sum = (i)*(i+1)/2;
        System.out.println(sum);

    }
}

答案 4 :(得分:0)

使用此代码。它会打印像

这样的值

1 + 2 + 3 .. + 100 = 5050

public class T35{

public static void main(String[] args) {
    int total=0;

    StringBuilder stringBuilder=new StringBuilder();

    for(int nmb= 1; nmb<= 100; nmb++){

        total+=nmb;
        stringBuilder.append(nmb);
        if(nmb!=100)
        stringBuilder.append("+");

    }
    stringBuilder.append(" = "+total);
    System.out.println(stringBuilder.toString());
}

}