给定一个自然数序列。对于序列输出的每个编号 even
如果数字是偶数,否则, odd
. 如果数字等于 0
,程序必须停止读取和处理数字。
class Main {
public static void main(String... args) {
// put your code here
Scanner scanner = new Scanner(System.in);
//int max = 0;
int number = 0;
while (scanner.hasNext()) {
number = scanner.nextInt();
if (number % 2 != 0) {
System.out.println("Odd");
continue;
} else if (number % 2 == 0) {
System.out.println("even");
break;
}
}
}
}
我有以下问题:
我可以´输入一个自然数序列,每一个数在一个新行中(请参阅附件)。我只能输入2个数字。。。
测试失败,第1页,共9页。答错了
这是问题陈述中的一个示例测试!
测试输入:
1
2
3
4
0
正确输出:
odd
even
odd
even
您的代码输出:
Odd
even
5条答案
按热度按时间nr9pn0ug1#
你不必扫描键盘上的数字
根据要求,您不必扫描键盘上的数字;相反,你必须从一个自然数序列中扫描它们。因此
Scanner
对象需要用自然数序列示例化,而不是System.in
.输出:
更新(基于op的澄清)
您在评论中提到,您的要求确实是从键盘扫描数字。除此之外,您还提到要验证这些数字。
为此,可以使用无限循环(例如。
while(true) { }
)当输入为0
. 如果数字无效,只需显示一条错误消息,而不进行处理。演示:
示例运行:
zc0qhyus2#
gmol16393#
snz8szmq4#
我认为您的代码中有一个输入错误:)请重构行:
到
此外,您可能根本不调用循环控件(break,continue):
nmpmafwu5#
当数字是偶数时,你不应该打破这个条件。应该有另一个条件来检查
number = 0
```public static void main(String[] args) {
// put your code here
Scanner scanner = new Scanner(System.in);
int number = 0;
}