For循环中的Java整数加法

时间:2014-04-06 13:54:23

标签: java

我编写了以下代码,通过控制台输入接受用户的整数。该代码应该将正整数从一个添加到用户选择的数字以产生总和。例如,如果用户输入5,则输出应为15(1 + 2 + 3 + 4 + 5)。出于某种原因,我写的这段代码最终会输出用户输入的任何值的平方。也就是说,4的用户输入结果为16,等等。这显然是错误的。如果你有任何可以帮助我解决这个问题的见解,我当然会很感激。非常感谢!

import java.util.Scanner;

public class OneDashSix{
    public static void main(String[] args){
        //Create a new scanner object
        Scanner input=new Scanner(System.in);
        //Receive user input

        System.out.print("Enter an integer for which you would like to find the arithmetic sum: ");
        int myNumber=input.nextInt();
        int sum = 0;
        //Calculate the sum of the arithmetic series
        for(int i=1; i<=myNumber; i=i++)
        {
            sum=sum+myNumber;
        }
        //Display the results to the console
        System.out.println("The sum of the first " + 
        myNumber + " positive integers is " + sum + ".");
    }
}

2 个答案:

答案 0 :(得分:4)

这一行

sum=sum+myNumber;

需要

sum=sum+i;

编辑:对于它的价值......最快的方法就是放弃循环:

sum = (myNumber * (myNumber + 1)) / 2;

答案 1 :(得分:1)

替换

for(int i=1; i<=myNumber; i=i++)

for (int i = 1; i <= myNumber;i++) 

停止无限循环。