【问题标题】:Could not find or load java main class找不到或加载 java 主类
【发布时间】:2022-06-13 13:14:45
【问题描述】:

我有一个非常基本的java程序,文件名是MainClass1.java

import java.util.Scanner;
class Student{
    String name;
    int roll_number;
    double marks;
    Student(String s,int r,double m)
    {
        this.name=s;
        this.roll_number=r;
        this.marks=m;
    }
}
class MainClass1{
    public static void main(String args[])
    {
        Scanner s=new Scanner(System.in);
        String name="Sourav";
        int roll_number=25;
        double marks=70.50;
        Student student1=new Student(name,roll_number,marks);
        System.out.println("The student is "+student1.name+" and his roll number is "+student1.roll_number+" and his marks is "+student1.marks);
    }
}

它编译得很好,但是当我试图运行它时

java Mainclass1

显示错误


Error: Could not find or load main class Mainclass1
Caused by: java.lang.NoClassDefFoundError: MainClass1 (wrong name: Mainclass1)

我知道这是一个非常基本的问题,但无法弄清楚问题。

请帮助任何人

【问题讨论】:

标签: java


【解决方案1】:

当您运行程序时(即,当您调用java ...)时,JVM 需要知道从哪里开始运行代码。它查找名为 main 的公共静态方法,该方法将 String 数组作为输入,并在 .java 文件中命名的任何类上定义。

所以:

  1. 验证您的文件名为“MainClass1.java”——文件名和类名需要匹配
  2. 验证该类是否包含public 修饰符,因此更改此:
    class MainClass1 {
    ...
    }
    
    对此:
    public class MainClass1 {
    ...
    }
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-16
    • 2021-06-06
    • 1970-01-01
    • 2015-08-04
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多