似乎无法获得先前数字的正确总和

时间:2019-03-21 20:45:42

标签: java for-loop input sum

因此,我正在整理代码的一部分,希望该部分打印出用户输入的数字之和,但我无法获得正确的数字。例如,如果用户输入“ 4”,则总和应为10,因为4 + 3 + 2 + 1 = 10,但是当我输入4时,我得到5。请问有人可以告诉我发生了什么事,我是很确定它在我的for循环中,因为这是唯一给我带来麻烦的部分,但是我不确定。因为我们假设限制用户输入3到10之间的字符并打印相应数量的符号后缀,所以代码的第一位也就在那里。值得庆幸的是,我的那些部件还不错,但是据我所知,该错误可能仍然存在。再次感谢任何愿意提供帮助的人

 int count2 = 0;
    do {
        System.out.print("Enter a number to use for Part B loops: ");
        count2 = keybd.nextInt();
        if (count2 > 10 || count2 < 3) {
            System.out.print("Error: number must be between 3 and 10, inclusive.\n");
        }
    } while (count2 > 10 || count2 < 3);

    int i = 1;
    System.out.print("Spring");
    while (i <= count2) {
          System.out.print("/\\");
          i++;
    } 
    System.out.println("Break");

    System.out.print("Sum of values 1 through " + count2 + " = ");

    int sum = 0;

    for (i = 1; i <= count2; i++);
    {
        sum += i;
    } 
    System.out.print(sum);

1 个答案:

答案 0 :(得分:0)

实际上,问题是for循环后的分号(;)。您的代码正在执行的操作是将i计数器从1循环到count2,然后使用(i = count2 + 1)退出for循环,然后执行代码块{sum + = i},使总和= count2 + 1

所以只需删除分号就可以了