繁体   English   中英

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

[英]class error in java (error: can't find main(String[]) method in class: student)

我实际上正在尝试执行一些基本的 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 class ,它也会弹出一个错误!

我看到您的文件名称是 student.java。 并且,您的主要方法存在于 Student_data_inheritance class 中,它不是公开的(即它不是主类)。 将你的main方法移动到学生class,因为它只在Main class中寻找main方法。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM