2013-02-08 42 views
0

我执行显示了这个错误:学习在课堂内创建对象和访问方法我怎么能?

java.lang.NoSuchMethodError: main

我需要让学生详细的输出。该程序应该访问所有上述方法。

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();   
     } 
    } 

回答

0

在Java中,文件中只有一个类可能被标记为public。在这种情况下,类Student被标记为public,因此引发NoSuchMethodException,因为主方法不在Student类上,而是在StudRecord类上。

因此,将StudRecord类更改为public,并将Student类更改为默认访问(无访问修饰符)。