“线程中的异常”;“主要”;java.lang.NoSuchMethodError:main-如何修复它?

“线程中的异常”;“主要”;java.lang.NoSuchMethodError:main-如何修复它?,java,Java,请帮我修复我的简单程序。我只是Java编程的新手。当我编写程序时,程序已成功编译但无法运行,导致线程“main”java.lang.NoSuchMethodError:main中出现“按摩错误”异常。每个人都能帮我运行这个程序吗 编码为: 个人类 //Program to display student details using inheritance class Person { String name; int age; } 学生班 class Student exten

请帮我修复我的简单程序。我只是Java编程的新手。当我编写程序时,程序已成功编译但无法运行,导致线程“main”java.lang.NoSuchMethodError:main中出现“按摩错误”异常。每个人都能帮我运行这个程序吗

编码为:

个人类

//Program to display student details using inheritance
class Person {
    String name;
    int age;
}
学生班

class Student extends Person
{
    int mark1,mark2,mark3;
    void putdata()
    {
        System.out.println("Name = " + name);
        System.out.println("Age = " + age);
        System.out.println("Mark1 = " + mark1);
        System.out.println("Mark2 = " + mark2);
        System.out.println("Mark3 = " + mark3);
    }
 }
马克斯班

class Marks
{
    public static void main(String[] args)
    {
        Student obj1=new Student();
        obj1.name="Sultanah";
        obj1.age=17;
        obj1.mark1=67;
        obj1.mark2=87;
        obj1.mark3=97;
        obj1.putdata();
    }
}

JVM在尝试启动程序时,会查找与运行程序所传递的名称同名的类。一旦找到该类,它就会在其中查找
main
方法。因此,请确保运行程序时使用
标记
作为类名,因为这是包含main方法的类

或者:

  • 你的
    main()
    方法应该放在
    Student
    类中,如果那是你正在执行的类,或者

  • 您应该执行包含
    main()
    方法的类,即
    标记


  • 似乎您正在尝试运行没有main方法的类。根据您的代码,Marks.java有main方法,所以编译后可以使用

    java Marks
    

    你是怎么运作的?总之有一件事。类标记应该是公共的,文件名应该是Marks.javaI复制了您的代码,它运行得很好。你是怎么运作的?您是否在命令行中包含了.class或.java扩展名?@jaydeppatel在这两方面都是错误的。不,它没有“在文件中查找公共类”。它在命令中查找名为public或其他名称的类。文件名是什么?它在命令行中查找名为的类。句号。我没有问题按原样运行代码…Main类不需要是
    public
    …我将文件保存为Student.java,并尝试使用Student.java在cmd下编译和运行,但错误已显示为我的问题如上所述。那我的问题是什么?Thanks@RogManJiwaMerdeka看看我的答案。忽略这个不断变化的可移动盛宴。现在谁知道它说了什么?两方面都错了。你读过其他答案和评论了吗?令人惊讶的是,
    javac
    不关心java文件的名称,它会创建
    标记。不管怎样,类
    文件……而且,EJP是对的,类不需要公开,仍然是错的。问题中没有证据表明他有Marks.java文件。事实上,你最初的回答假设他没有。当你在别处读到他的评论时,你会发现他没有。