回 帖 发 新 帖 刷新版面

主题:一个student类怎么实现学号自动生成.

下面是我写的程序   看看哪里不对
public class Student {
    int studentId;
    String studentName;
    int courseNum;
    int averageScore;
    int creditHour;
    static int nextId;
    Student(String studentName){
        this.studentName=studentName;
        this.studentId=nextId;
        this.courseNum=0;
        this.averageScore=0;
        this.creditHour=0;
    }
    int getstudentId(){
        return studentId;
    }
    String getstudentName(){
        return studentName;
    }
    int getcourseNum(){
        return courseNum;
    }
    int getaverageScore(){
        return averageScore;
    }
    int getcreditHour(){
        return creditHour;
    }
    void setcourseNum(int courseNum){
        this.courseNum=courseNum;
    }
    void setaverageScore(int averageScore){
        this.averageScore=averageScore;
    }
    void setcreditHour(int creditHour){
        this.creditHour=creditHour;
    }
    void print(){
        System.out.println(studentId+" "+studentName+" "+courseNum+" "+averageScore+" "+creditHour+" "+nextId);
    }
}

回复列表 (共7个回复)

沙发

构造函数写的不对,参数有问题!

板凳

学好怎么会自动生成那?
nextId的初值是0不会变的

3 楼

this.studentId=(int)(Math.random()*1000);
试试这个,不过可能不合你的意思

4 楼

构造函数要怎么写啊

5 楼

//Student的构造方法改动一下

Student(String studentName,int courseNum,int averageScore,int creditHour){
        
        Student.nextId++;
        this.studentId=Student.nextId;
        this.studentName=studentName;
        this.courseNum=courseNum;
        this.averageScore=averageScore;
        this.creditHour=creditHour;
}

//作一个测试类,studentId自动生成。
class Demo 
{
    public static void main(String[]args)
    {
        Student[]s = new Student[3];
        s[0]=new Student("AAA",3,80,20);
        s[1]=new Student("BBB",4,90,25);
        s[2]=new Student("CCC",4,85,10);
        
        for(int i=0;i<s.length;i++)
          s[i].print();
    }
}

6 楼

没有主方法!!!

7 楼

happyboy2007好像还可以

我来回复

您尚未登录,请登录后再回复。点此登录或注册