IF语句的Java问题

  • 本文关键字:问题 Java 语句 IF java
  • 更新时间 :
  • 英文 :


我是Java的初学者,我遇到一个问题,要求用户输入3个整数,它会告诉用户哪个是ODD。

除了2个条目是奇数的情况外,我可以让大部分程序正常工作。我设置了这样的语句,我知道这些语句并不有效,但我仍在学习。

if (num1 % 2 == 1 && num2 % 2 == 1) {
System.out.println("a is odd");
System.out.println("b is odd");
return;
}
if (num1 % 2 == 1 && num3 % 2 == 1) {
System.out.println("a is odd");
System.out.println("c is odd");
return;
}
if (num2 % 2 == 1 && num3 % 2 == 1) {
System.out.println("b is odd");
System.out.println("c is odd");
return;
}

所有这些都不起作用,它只会给我任何一个例子的第一封回信。如有任何帮助,我们将不胜感激。

为什么不逐一检查呢?

public static void check(int a, int b, int c) {
if (isOdd(a))
System.out.println("a is odd");
if (isOdd(b))
System.out.println("b is odd");
if (isOdd(c))
System.out.println("c is odd");
}
private static boolean isOdd(int num) {
return num % 2 != 0;
}

如果您只想在正好有两个数字是奇数时打印结果,那么方法和您的原始代码段相同:

public static void check(int a, int b, int c) {
if (isOdd(a) && isOdd(b) && !isOdd(c)) {
System.out.println("a is odd");
System.out.println("b is odd");
} else if (isOdd(a) && !isOdd(b) && isOdd(c)) {
System.out.println("a is odd");
System.out.println("c is odd");
} else if (!isOdd(a) && isOdd(b) && isOdd(c)) {
System.out.println("b is odd");
System.out.println("c is odd");
}
}
private static boolean isOdd(int num) {
return num % 2 != 0;
}

你可以这样做-

if(num % 2 == 0)
System.out.println(num + " is even");
else
System.out.println(num + " is odd");

最新更新