Java运行报错Could not find or load main class Main原因排查
错误原因
你遇到的Error: Could not find or load main class Main错误的核心触发原因是IDE运行配置指定的主类名和代码中实际包含main方法的类名不一致。
你代码里包含main方法的类名为PrimeDirective,而Codecademy、Replit这类在线Java IDE默认会将运行配置的主类设置为Main,运行时按照配置检索名为Main的类自然会抛出类找不到的异常。
解决方案
有两种通用的修复方式:
- 修改代码类名:把代码中的类名
PrimeDirective改为Main,同时对应修改类内部实例化的语句为Main pd = new Main();,即可适配平台默认运行配置。 - 修改运行配置:在IDE的启动参数设置里,把启动主类的配置项从默认的
Main改为PrimeDirective,无需修改代码即可正常运行。
代码优化建议
你当前的素数过滤逻辑存在小漏洞:如果输入数组中包含0、1这类小于2的数值,也会被判定为素数,可在素数判断分支前添加边界校验修复:
if(value < 2) { continue; }
内容的提问来源于stack exchange,提问作者Mysterious Otter
相关产品推荐
相关产品推荐

