我坚持分配需要程序接受多个数字,然后输出"是"如果奇数和"否"如果是偶数,并且无法弄清楚如何使程序接受多于1的int,然后输出正确的println。 到目前为止,这是我的代码。
import java.util.Scanner;
class odd{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
int[] numbers = new int[10];
for(int i = 0; i < 10; ++i) {
numbers[i] = in.nextInt();
if(i % 2 == 0 )
System.out.println("Yes");
if( i % 2 == 1 )
System.out.println("No");
}
}
}
答案 0 :(得分:1)
我猜你的意思是numbers[i] % 2
,而不是i % 2
。否则,您未使用从System.in
读取的值。
请注意,该数组是不必要的,因为您再也不会使用该数组:只需在循环中声明一个变量。此外,您不需要检查<something> % 2
两次:条件是互斥的。你也可以阅读,直到in.hasNextInt()
为假:
while (in.hasNextInt()) {
int v = in.nextInt();
if (v % 2 == 0) {
System.out.println("Yes");
} else {
System.out.println("No");
}
}
答案 1 :(得分:0)
首先将所有数字存储在一个数组中。稍后循环它。
不检查if(i % 2 == 0 )
之类的索引值,而是检查输入的数字if(numbers[i] % 2 == 0)
。
int[] numbers = new int[10];
//storing all the numbers in an array
for(int i = 0; i < 10; ++i)
numbers[i] = in.nextInt();
//checking each one
for(int i = 0; i < numbers.length; ++i) {
if(numbers[i] % 2 == 0 )
System.out.println("No");//even
if(numbers[i] % 2 == 1 )
System.out.println("Yes");//odd
}
<强>输出:强>
1 4 3 6 7 8 9 0 2 3 没有 是 没有 是 没有 是 没有 是 是 否