java.student类

编程题: 完成一个简单的学生信息管理系统。具体要求如下:
1. 使用JAVA定义一个表示学生信息的类Student, 该类包括:
(1) 类Student的成员变量(根据实际数据的情况,自定数据类型):
id表示学号,
name表示姓名,
sex表示性别,
age表示年龄,
computer_score表示计算机课程的成绩,
English_score表示英语课的成绩,
Maths_score表示数学课的成绩,
total_score 表示总成绩,
ave_score 表示平均成绩。
所有成员变量为private类型。

(2)Student类的构造函数:
该类包含两个构造函数:
a. 带两个参数的构造函数,这两个参数为string类型的变量,将分别为成员变量id和name初始化
public Student(string id, string name) {

this.id = id;
this.name = name;
}
b. 带四个参数的构造函数,这四个参数将分别为成员变量id,name,sex和age初始化,具体实现时,首先调用前一个构造函数为id和name初始化,然后再为sex和age初始化。
public Student(string id, string name, char sex, int age) {
this(id, name);
this.sex = sex;
this.age = age;
}
(3)类Student的方法成员(所以的方法为public. 所有的读访问器(即get方法)没有入口参数, 所有的写访问器(即set方法)有入口参数):
getId()获得当前对象的学号,
getComputer_score()获得当前对象的计算机课程成绩,
getMaths_score()获得当前对象的数学课程成绩,
getEnglish_score()获得当前对象的英语课程成绩,

setId() 设置当前对象的id值,
setComputer_score()设置当前对象的Computer_score值,
setEnglish_score()设置当前对象的English_score值,
setMaths_score()设置当前对象的Maths_score值,

getTotalScore() 计算Computer_score, Maths_score 和English_score 三门课的总成绩。
getAveScore() 计算Computer_score, Maths_score 和English_score 三门课的平均成绩。

2. 为Student类增加两个子类:Undergraduate 类(表示本科生)和Graduate(表示研究生) 类。
(1)Undergraduate 类中增加:
a. 成员变量classID(表示班级号),
b. 以及成员方法getClassID() 和setClassID();
c. 一个带五个参数的构造函数,实现时,首先调用父类的带四个参数的构造函数,然后对成员变量classID进行初始化

(2)Graduate 类中增加:
a. 成员变量tutor(表示导师的名字),
b. 以及成员方法getTutor() 和setTutor();
c. 一个带五个参数的构造函数,实现时,首先调用父类的带四个参数的构造函数,然后对成员变量tutor进行初始化
(3)在Graduate 类中重写:
a. getTotalScore() :计算Computer_score和English_score 两门课的总成绩。
b. getAveScore(): 计算Computer_score和English_score 两门课的平均成绩。

3.创建Test主类, 在Test类main()中
(1)定义一个Undergraduate类对象(”0001”, “张三”, 19, ‘男’, “2083”),,一个Graduate类对象(“1001”,”李四”,24,
’女’,”王五”), 并对这两个对象的其他变量进行初始化设置, 并将两个对象存储在一个Student类型的数组中。
Undergraduate a = new Undergraduate();
Graduate b = new Graduate();
Student[] c = {a, b};
(2)使用for循环,打印出数组中每个对象的学号 ,计算机成绩,英语成绩,数学成绩,总成绩以及平均成绩。

class Student {
private String id;//表示学号
private String name;//表示姓名
private char sex;//表示性别
private int age;//表示年龄
private double computer_score;//表示计算机课程的成绩
private double english_score;//表示英语课的成绩
private double maths_score;//表示数学课的成绩
private double total_score;// 表示总成绩
private double ave_score; //表示平均成绩

public Student(String id, String name){
this.id = id;
this.name = name;
}
public Student(String id, String name, char sex, int age){
this(id, name);
this.sex = sex;
this.age = age;
}
public String getId(){
return id;
}//获得当前对象的学号,
public double getComputer_score(){
return computer_score;
}//获得当前对象的计算机课程成绩,
public double getMaths_score(){
return maths_score;
}//获得当前对象的数学课程成绩,
public double getEnglish_score(){
return english_score;
}//获得当前对象的英语课程成绩,

public void setId(String id){
this.id=id;
}// 设置当前对象的id值,
public void setComputer_score(double computer_score){
this.computer_score=computer_score;
}//设置当前对象的Computer_score值,
public void setEnglish_score(double english_score){
this.english_score=english_score;
}//设置当前对象的English_score值,
public void setMaths_score(double maths_score){
this.maths_score=maths_score;
}//设置当前对象的Maths_score值,

public double getTotalScore(){
return computer_score+maths_score+english_score;
}// 计算Computer_score, Maths_score 和English_score 三门课的总成绩。
public double getAveScore(){
return getTotalScore()/3;
}// 计算Computer_score, Maths_score 和English_score 三门课的平均成绩。

}

class Undergraduate extends Student{
private String classID;

public Undergraduate(String id, String name, char sex, int age,String classID){
super(id,name,sex,age);
this.classID=classID;
}
public String getClassID(){
return classID;
}
public void setClassID(String classID){
this.classID=classID;
}
}

class Graduate extends Student{
private String tutor;

public Graduate(String id, String name, char sex, int age,String tutor){
super(id,name,sex,age);
this.tutor=tutor;
}

public double getTotalScore() {
return getComputer_score()+getEnglish_score();
}
public double getAveScore(){
return getTotalScore()/2;
}
}
public class Test {
public static void main(String[] args) {
Undergraduate ug=new Undergraduate("0001", "张三", '男',19, "2083");
ug.setComputer_score(65);
ug.setEnglish_score(75);
ug.setMaths_score(85);
Graduate g=new Graduate("1001","李四",'女',24,"王五");
g.setComputer_score(65);
g.setEnglish_score(75);
g.setMaths_score(85);
Student s[]={ug,g};

for(int i=0;i<s.length;i++){
System.out.println("学号:"+s[i].getId()+" 计算机成绩:"+s[i].getComputer_score()+
" 英语成绩:"+s[i].getEnglish_score()+" 数学成绩:"+s[i].getMaths_score()
+" 总成绩:"+s[i].getTotalScore()+" 平均成绩:"+s[i].getAveScore());
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-29
不懂你的问题是什么意思,
相似回答