因此,我正在整理代码的一部分,希望该部分打印出用户输入的数字之和,但我无法获得正确的数字。例如,如果用户输入“ 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);
答案 0 :(得分:0)
实际上,问题是for循环后的分号(;)。您的代码正在执行的操作是将i计数器从1循环到count2,然后使用(i = count2 + 1)退出for循环,然后执行代码块{sum + = i},使总和= count2 + 1
所以只需删除分号就可以了