0

再会!这是一个应该添加二进制文件中的整数直到遇到负数的代码。

n = inputStream.readInt();
while (n>=0) {
    n=m;
    m++;
    n = inputStream.readInt();
}
System.out.println("Sum: "+m);


但是,当我输入 1、2、3 时,它会输出 3 作为总和。与 1、2、3、4、5 相同,它输出 5。我知道我的 while 循环有问题,我就是想不通。请帮我找出问题所在。原谅我,我是编程新手,我还在学习。非常感谢!

4

3 回答 3

2
n = inputStream.readInt();
while (n>=0) {
    m += n;
    n = inputStream.readInt();
}
System.out.println("Sum: " + m);

您只是添加数字的数量,而不是数字的总和。

于 2012-08-18T14:30:53.893 回答
0

您的代码只计算 while 循环的迭代次数。您在每次迭代中递增 m,最后您只显示相同的 m 值。

于 2012-08-18T14:31:10.617 回答
0
System.out.println("Sum: " + m);

只显示最终结果,即使它会在几分之一秒内显示所有其他输出。

还有

System.out.println("Sum: " + m);

应该在while循环内。

在 java GUI 中,您可以执行相同的操作

jTextArea1.setText(jTextArea1.getText()+m); //where jTextArea1 is the component to display the text.
于 2012-08-19T04:03:11.267 回答