需要解决的问题
- 编写一个名为 MyWhiley1 的程序,要求用户输入 正整数。
- 当用户输入负值时,程序会写入 ERROR 并 要求另一个值。
- 当用户输入 0 时,表示已输入最后一个值 并且程序必须写出正整数的平均值。
- 如果输入值的数量为零,则程序将写入“NO” 平均”。
但是我遇到了一些错误,如果我输入正数然后输入负数,则代码无法正常运行。
public class MyWhiley1 {
public static void main(String[] arg) {
int sum = 0, list = 0;
Scanner reader = new Scanner(System.in);
System.out.println("Type a postive integer if you enter zero the list is compelete");
int number = reader.nextInt();
do {
if (number > 0) {
sum += number;
list++;
} else if (number < 0) {
System.out.println("ERROR type in a postive integer");
}
reader.close();
} while (number != 0);
if (list != 0) {
System.out.println("Average is: " + sum / list);
} else
System.out.println("NO average");
}
}
最佳答案
您有两个问题,您没有在循环内读取数字,并且在循环内关闭阅读器:
int number = 0;
do
{
number = reader.nextInt();
if (number>0)
{
sum+=number;
list++;
}
else if (number<0)
{
System.out.println("ERROR type in a postive integer");
}
}while (number!=0);
reader.close();
关于java - 我的 Java 代码遇到一些问题。在循环中区分正数和负数时不会运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55252282/