在线编译器运行Java代码时类名与文件名一致报错的解决方法
报错根因
Java 语言有强制语法规则:被public修饰的顶层类,类名必须和所在代码文件的文件名完全一致(大小写严格匹配)。
你当前的代码文件名为Main.java,但代码中定义的public类名为primeno,二者不匹配,因此触发编译错误,对应报错原文:
Main.java:2: error: class primeno is public, should be declared in a file named primeno.java
public class primeno
修复方案
两种方案任选其一即可,优先选操作更简单的:
- 方案一:修改类名适配现有文件名
直接把代码里的public类名从primeno改成Main,和现有Main.java文件名匹配即可,修改后的对应代码段如下:import java.util.Scanner; public class Main { public static void main (String args[]) { - 方案二:修改文件名适配现有类名
如果不想改动现有类名,就把代码文件的名称从Main.java重命名为primeno.java,保证文件名和public类名完全一致即可,这种情况不需要调整代码内容。
注意:匹配规则大小写敏感,比如类名写PrimeNo时,文件名也必须对应为PrimeNo.java,命名有大小写偏差依然会触发同类报错
内容的提问来源于stack exchange,提问作者Joby Augustine
相关产品推荐
相关产品推荐

