我正在尝试解决一个仅需要查找所有偶数的问题。我需要输入5个数字,如果所有数字都不是偶数,我要打印在数组中找不到的偶数。
所以我的问题是当我遍历for循环时,我的代码打印出在数组中找不到的偶数。它为每个非偶数打印,这显然不是它应该做的。我需要某种提示。顺便说一句,这不是家庭作业,这是在Programmr.com上发现的问题。这是我的代码:
import java.util.Scanner;
public class ArrayEven {
public static void main(String args[]) {
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
int x, arr[] = new int[5];
for (int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
if (i == 4)
break;
}
for (int i = 0; i < arr.length; i++) {
x = arr[i] % 2;
if (x == 0) {
System.out.println(arr[i]);
}
else if (x != 0) { //this is obviously wrong. Do I need another for-loop for this?
System.out.println("Even number not found in array.");
}
}
}
}
最佳答案
您可以在此处使用boolean
,
用boolean
初始化false
变量
如果找到任何even
而不是将boolean
设置为true
并检查您的boolean
条件中的if
。
范例:
boolean isAvailble = false;
...
// Some code
...
for (int i = 0; i < arr.length; i++) {
x = arr[i] % 2;
if (x == 0) {
System.out.println(arr[i]);
isAvailble = true;
}
}
if (! isAvailable) {
System.out.println("Even number not found in array.");
}
关于java - 关于遍历数组时for循环中的“else”语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21254450/