我不清楚自己编写的Java条件判断程序存在哪些语法错误
Java代码语法错误排查
你的代码存在以下几个关键语法错误:
错误使用赋值运算符与未定义标识符:
Java中没有odd或even这类内置关键字,无法直接用它们判断奇偶。同时你误用了赋值运算符=,判断相等需要使用比较运算符==。正确的奇偶判断应该用取模运算:- 奇数:
N % 2 != 0(或N % 2 == 1) - 偶数:
N % 2 == 0
- 奇数:
非法的区间判断语法:
Java不支持2 < N < 5这种连续比较写法,必须拆分为两个条件并用逻辑与&&连接。比如区间[2,5]的判断应该是N >= 2 && N <= 5,另外else if条件里的分号;属于语法错误,会破坏条件逻辑的连续性。条件结构不符合Java规范:
原代码的else if条件写法错误,每个else if只能包含一个完整的布尔表达式,需要将奇偶判断和区间判断合并为一个逻辑连贯的条件。
修正后的代码
import java.util.*; public class Solution { private static final Scanner scanner = new Scanner(System.in); public static void main(String[] args) { int N = scanner.nextInt(); if (N % 2 != 0) { System.out.println("Weird"); } else if (N >= 2 && N <= 5) { System.out.println("Not Weird"); } else if (N >= 6 && N <= 20) { System.out.println("Weird"); } else { System.out.println("Not Weird"); } } }
内容的提问来源于stack exchange,提问作者Kavyanjali
相关产品推荐
相关产品推荐

