You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java运行报java.lang.Error编译错误,代码是否存在遗漏问题?

问题原因及解决方法

1 核心编译报错原因

你遇到的无明确明细的编译错误,90%以上的概率是公共类名与源文件名不匹配导致的:
Java语法规范明确要求:被public修饰的类,其所在的.java源文件的文件名必须和类名完全一致,大小写也不能有偏差。你当前代码里的公共类名为ifelseloop,所以你的源文件必须命名为ifelseloop.java,如果文件名存在大小写差异、或者名字完全不匹配,就会触发该类编译错误。

2 其他可能的触发场景

如果你确认文件名完全匹配,那大概率是IDE缓存异常导致的伪报错,按对应IDE操作清理缓存重新编译即可:

  • Eclipse:点击顶部菜单栏 Project -> Clean,选择当前项目执行清理后重新运行
  • IDEA:点击顶部菜单栏 File -> Invalidate Caches...,勾选清理选项后重启IDE重新编译即可

附加代码优化提示

你当前代码里的字符串比较逻辑存在隐藏问题:
Java中==用于比较对象的内存地址,而非字符串的实际内容,要比较两个字符串的内容是否一致,需要调用equals()方法。你可以把判断条件修改为如下格式,避免后续运行时出现逻辑不符合预期的问题:

if ("madras".equals(city)) {
    System.out.println("the city is not delhi its madras");
}else if("chennai".equals(city)) {
    System.out.println("the city is not delhi its chennai");
}else if("bartar".equals(city)) {
    System.out.println("the city is bartar");
}else {
    System.out.println(city);
}

把常量写在equals前面还可以避免空指针异常。

内容的提问来源于stack exchange,提问作者Shubam Koundel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:18:03