如何在Java中使用if条件判断奇数和偶数?代码疑问解答
Java 判断奇数和偶数的正确方式
首先你搞反了判断逻辑:numbers%2==0其实是用来判断偶数的,而奇数的判断应该是numbers%2!=0(或者更严谨的Math.abs(numbers)%2==1,避免负数判断出错)。
另外注意你的代码里有个问题:numbers是String类型,不能直接用%运算符做取模运算,必须先把它转换成整数类型(比如int),否则会编译报错。
给你完整的可运行代码示例:
import java.util.Scanner; public class OddEvenChecker { public static void main(String[] args) { Scanner abc = new Scanner(System.in); System.out.println("请输入一个整数:"); String input = abc.nextLine(); // 将输入的字符串转为整数 int num = Integer.parseInt(input); // 判断偶数 if (num % 2 == 0) { System.out.println(num + " 是偶数"); } else { // 非偶数即为奇数 System.out.println(num + " 是奇数"); } abc.close(); } }
额外说明:
- 处理负数时,Java里
-3%2的结果是-1,所以用num%2!=0判断奇数更稳妥,正负奇数都能正确识别;如果用num%2==1的话,负数奇数会判断失败。 - 如果输入的是超大数字,可以换成
Long.parseLong(input)来避免整数溢出。
内容的提问来源于stack exchange,提问作者NESKI
相关产品推荐
相关产品推荐

