java - 我的 Java 代码有一些问题。在循环中告诉正数和负数之间的差异时它不会运行
问题描述
要解决的问题
- 编写一个名为 MyWhiley1 的程序,要求用户输入一个正整数。
- 当用户输入负值时,程序会写入 ERROR 并要求输入另一个值。
- 当用户键入 0 时,表示最后一个值已被键入,程序必须写入正整数的平均值。
- 如果输入值的数量为零,则程序将写入“NO AVERAGE”。
但是我有一些错误,如果我输入一个正数然后一个负数没有任何反应,我的代码将无法正常运行。
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();
推荐阅读
- peewee - Peewee 原生压缩而不是 CompressedField
- php - 时区在 laravel 中没有改变
- javascript - 相当于 _.isObject(value) -lodash 中的函数
- python - 如何使用存储在文本文件中的图像链接显示图像
- node.js - 我应该将文件服务器放在 Kubernetes 的 MERN 应用程序中的哪个位置?
- node.js - 将环境连接到猫鼬时出现错误
- javascript - 通过将嵌套属性与搜索词进行比较来过滤
- c# - 我可以在 C# 的 2 个不同的类中使用相同的枚举吗?
- node.js - node js cron作业在每个月的第一天都不工作
- php - ACF 自定义字段、自定义帖子类型和引导轮播