没有找到主要课程

时间:2012-03-18 14:10:52

标签: java class methods

我的项目中有几个类。主要类应该是SMSMain.But当我运行项目时它没有发现主类发现错误。我试图设置属性(Netbeans)但它没有找到任何。我哪里错了?这是我的代码:

package 
na.edu.pon.oop210s.s12012.s211045888.sms;
/**
 * Student Number: <211045888>
 * Date: 3/11/12 7:47 pM
 * Exercise: <Exercise 4>
 * Created using: <netbeans>
 */


 public class sms {

 class Student 
{
    int   studentID;
    String studentName,course;

public  void        setName(String studentName){
this.studentName = studentName;
}
public  void        setNewId(int studentID){
this.studentID = studentID;
}

public  void        setCourse(String course){
 this.course = course;
}
public  String      toString(){
return studentID +" "+studentName.toString();

}
    class lecturer{
        int staffID;
        String staffName,taughtCourses;

        public  void        setName(String staffName){
this.staffName = staffName;
}
public  void        setNewId(int staffID){
this.staffID = staffID;
                 }
public  String      toString(){
return staffID +" "+staffName.toString();

}
        class course{
            String code,description;
            double units;

course(String code, String CD){
this.code=code.toUpperCase();
description=CD.toUpperCase();
}
public String getCode(){
return code;

                       }


/**
 * @param args the command line arguments
 */
public class SMSMain {
public  void main(String[] args) {
    // TODO code application logic here
    Student a = new Student();
    a.studentName = "Maria";
    a.studentID = 1236;
    System.out.println("Student Name:" + a.studentName);
    System.out.println("Student Name:" + a.studentID);

 }
}



        }}}}

4 个答案:

答案 0 :(得分:4)

您需要使用

public static void main(String[] args){/* ... */}

使用static关键字。

此外,将您的类SMSMain放在它自己的文件SMSMain.java中。然后导入所需的类(Eclipse中的ctrl-shift-o)。

尝试始终将一个类放在它自己的文件中,除非你有充分的理由不这样做。

答案 1 :(得分:0)

您的主要课程必须是静态的。

像这样:

public static void main(String[] args)
{
    // main goes here
}

答案 2 :(得分:0)

尝试将public void main(String[] args) {替换为public static void main(String[] args) {

答案 3 :(得分:0)

您的编码风格令人困惑。学习Oracle / Sun Java编码标准。

主方法必须遵循确切的签名并与公共外部类相关联,而不是内部类之一。

package na.edu.pon.oop210s.s12012.s211045888.sms;

/**
 * Student Number: <211045888>
 * Date: 3/11/12 7:47 pM
 * Exercise: <Exercise 4>
 * Created using: <netbeans>
 */

// bad naming.  What's sms?  student management system?  sado-masochistic society?
public class sms {      
    public static void main(String [] args) { 
    }
}
相关问题