【问题标题】:class error in java (error: can't find main(String[]) method in class: student)java中的类错误(错误:在类中找不到main(String [])方法:student)
【发布时间】:2025-12-07 00:45:02
【问题描述】:

我实际上是在尝试做一些基本的 Java 操作,但发生了一个令人困惑的错误:

import java.util.Scanner;

class Student {
    String name, gender;
    int roll;
    int mark1, mark2, mark3;

    void print() {
        System.out.println("Name: " + name);
        System.out.println("Roll: " + roll);
        System.out.println("Gender: " + gender);
    }
}

class MarkStudents extends Student {
    void printData() {
        int total = mark1 + mark2 + mark3;
        System.out.println("Marks\nMaths; " + mark1 + "\nChemistry: " + mark2 + "\nComputer: " + mark3 + "\nTotal: " + total + "\nGrade: ");

        if (total >= 90)
            System.out.print("A");
        else if (total >= 80 && total < 90)
            System.out.print("B");
        else if (total >= 70 && total < 80)
            System.out.print("C");
        else if (total >= 60 && total < 70)
            System.out.print("D");
        else if (total >= 50 && total < 60)
            System.out.print("E");
        else
            System.out.print("F");
    }
}

class StudentDataInheritance {
    public static void main(String[] args) {
        //create scanner function
        Scanner sc = new Scanner(System.in);

        // Read student details
        System.out.println("Enter the Student details\nName: ");
        String name = sc.nextLine();

        System.out.println("Roll no: ");
        int roll = sc.nextInt();

        System.out.println("Enter the gender: ");
        String gender = sc.nextLine();

        System.out.println("Mark1: ");
        int m1 = sc.nextInt();

        System.out.println("Mark2: ");
        int m2 = sc.nextInt();

        System.out.println("Mark3: ");
        int m3 = sc.nextInt();

        MarkStudents m = new MarkStudents();
        m.name = name;
        m.roll = roll;
        m.gender = gender;
        m.mark1 = m1;
        m.mark2 = m2;
        m.mark3 = m3;

        m.print(); // print from p=super class
        m.printdata(); // print from extended
    }
}

当我尝试运行这段代码时:

java StudentDataInheritance.java error: can't find main(String[]) method in class: Student

但是即使我用String[] args 创建一个Java 类,它也会弹出一个错误!

【问题讨论】:

  • lass markstudents extends 是不是打字错误?
  • 是的,这只是一个应对错误,谢谢告知:)
  • 请修剪您的代码,以便更容易找到您的问题。请按照以下指南创建minimal reproducible example

标签: java class inheritance multiple-inheritance inner-classes


【解决方案1】:

我只是通过更改文件名和类名来解决这个问题,但我仍然不知道是什么导致了这个问题

【讨论】:

【解决方案2】:

我看到你的文件名是 student.java。而且,您的主要方法存在于非公开的 Student_data_inheritance 类中(即它不是主要类)。将您的 main 方法移至学生类,因为它仅在 Main 类中查找 main 方法。

【讨论】:

    最近更新 更多