【发布时间】: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.javaerror: 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