0

私の実行では、次のエラーが表示されます。

java.lang.NoSuchMethodError: メイン

出力として学生の詳細を取得する必要があります。プログラムは、上記のすべてのメソッドにアクセスする必要があります。

 import java.io.*;
    import java.io.IOException;

    public class Student {
        String name;
        int age;
        String clas;
        int rank;
        int ID;

        public Student(String name){
        this.name = name;
        }

        public void studAge(int studAge)
        {
            age=studAge;
        }
        public void studClas(String studClas)
        {
            clas=studClas;
        }
        public void studRank(int studRank)
        {
            rank=studRank;
        }
        public void studID(int studID)
        {
            ID=studID;
        }
        public void displayStud()
        {
            System.out.println("Student Age is:"+age);
            System.out.println("Student Class is:"+clas);
            System.out.println("Student Rank is:"+rank);
            System.out.println("Student ID is:"+ID);
        }
    }
    class StudRecord{
       public static void main(String [] args)throws IOException
       {            
        Student studOne=new Student("Faraz");
        Student studTwo=new Student("Musheer");
        Student studThree=new Student("Imdad");
        Student studFour=new Student("Shahid");

        // Invoking methods for each object created         
        studOne.studAge(23);
        studOne.studClas("11th");
        studOne.studID(130018);
        studOne.studRank(16);

        studFour.studAge(21);
        studFour.studClas("11th");
        studFour.studID(130035);
        studFour.studRank(33);

        studTwo.studAge(26);
        studTwo.studClas("10th");
        studTwo.studID(130021);
        studTwo.studRank(2);

        studThree.studAge(24);
        studThree.studClas("11th");
        studThree.studID(130032);
        studThree.studRank(32);

        System.out.println();           
       }
   }
4

1 に答える 1

0

Java では、ファイル内の 1 つのクラスのみをパブリックとしてマークできます。この場合、クラス Student は public とマークされているため、メイン メソッドが Student クラスではなく StudRecord クラスにあるため、NoSuchMethodException がスローされます。

したがって、StudRecord クラスを public に変更し、Student クラスをデフォルト アクセス (アクセス修飾子なし) に変更します。

于 2013-02-08T12:37:30.310 に答える