首页 > 代码库 > 学生信息管理程序

学生信息管理程序

 

      来发一个日志。打了好久。

 

    学生信息管理程序 直接贴代码吧。

先定义一个接口类:DBInterface

 1 package mypackage;
 2 
 3 // 接口类
 4 public interface DBInterface {
 5     public String insert();
 6     // 插入数据的方法
 7     
 8     public String delete();
 9     // 删除数据的方法
10     
11     public String update();
12     // 修改数据的方法
13 }

在定义一个抽象类的Student ,是以下定义的父类

技术分享
  1 package mypackage;
  2 /*
  3  * 
  4  *                         Student类 ,其他类的父类,抽象类
  5  * 
  6  */
  7 public abstract class Student implements DBInterface
  8     // 声明Student 类为抽象类,实现DBInterface接口
  9 {
 10     protected String studentNumber;
 11     protected String studentName;
 12     // 学号 和 名字
 13     protected double englishScore,mathScore,computerScore;
 14     // 英语成绩, 数学成绩, 计算机成绩
 15     
 16     public Student()
 17     // 父类无参构造方法,实例化学生对象
 18     {
 19         this("","",0.0,0.0,0.0);
 20     }
 21     public Student(String studentNumber, String studentName, double englishScore, double mathScore, double computerScore)
 22     // 父类构造方法,生成学生实例对象
 23     {
 24         this.studentNumber = studentNumber;
 25         this.studentName = studentName;
 26         this.englishScore = englishScore;
 27         this.mathScore = mathScore;
 28         this.computerScore = computerScore;
 29         this.sum();
 30     } 
 31     public String getStudentNumber()
 32     // get方法,获取学生学号
 33     {
 34         return studentNumber;
 35     }
 36     public String getStudentName()
 37     // get方法,获取学生姓名
 38     {
 39         return studentName;
 40     }
 41     public double getenglistScore()
 42     // get方法,获取英语成绩
 43     {
 44         return englishScore;
 45     }
 46     public double getmathScore()
 47     // get方法,获取数学成绩
 48     {
 49         return mathScore;
 50     }
 51     public double getcomputerScore()
 52     // get方法,获取计算机成绩
 53     {
 54         return computerScore;
 55     }
 56     
 57     
 58     
 59     public void setStudentNumber(String studentNumber) { // 设置学号
 60         this.studentNumber = studentNumber;
 61     }
 62     public void setStudentName(String studentName) { // 设置姓名
 63         this.studentName = studentName;
 64     }
 65     public void setEnglishScore(double englishScore) {  // 英语成绩并重新计算总成绩
 66         this.englishScore = englishScore;
 67         this.sum();
 68     }
 69     public void setMathScore(double mathScore) { // 数学成绩并重新计算总成绩
 70         this.mathScore = mathScore;
 71         this.sum();
 72     }
 73     public void setComputerScore(double computerScore) { // 计算机成绩并重新计算总成绩
 74         this.computerScore = computerScore;
 75         this.sum();
 76     }
 77     
 78     
 79     // toString()方法,格式化返回学生信息
 80     public String toString(){
 81         return("学号:" + studentNumber + " 姓名:" + studentName + " 评测成绩:" + this.testScore());
 82     }
 83     // equals方法,判断学生的信息是否相同
 84     public boolean equals(Object stu){
 85         if(stu instanceof Student){
 86             Student a = (Student)stu;
 87             return(studentNumber.equals(a.studentNumber))&&(studentName.equals(a.studentName))&&(englishScore == a.englishScore)&&(mathScore == a.mathScore)&&(computerScore == a.computerScore);
 88         }
 89         return false;
 90     }
 91     
 92     // compare方法,判断学生总成绩的大小
 93     public String compare(Student a){
 94         if(this.sum() > a.sum())
 95             return(this.getStudentName() + "的总成绩大于" + a.getStudentName());
 96         else if(this.sum() == a.sum())
 97             return(this.getStudentName() + "的总成绩等于" + a.getStudentName());
 98         else 
 99             return(this.getStudentName() + "的总成绩小于" + a.getStudentName());
100     }
101     
102     public abstract double sum();
103     // sum方法,计算学生的总成绩,声明为抽象方法
104     
105     public double testScore(){    // testScore方法,计算学生的评测成绩
106         return(this.sum()/3);
107         // 平均成绩
108     }
109     
110     public abstract double average();
111     // 声明为抽象方法
112     
113     public String insert()    // 实现接口的insert方法
114     {
115         return("学生信息插入成功");
116     }
117     public String delete()    // 实现接口的delete方法
118     {
119         return("学生信息删除成功");
120     }
121     public String update()     // 实现接口的update方法
122     {
123         return("学生信息修改成功");
124     }
125     
126     
127     
128 }
View Code

接下来是职位  先来个学生委员的类 :StudentXW

技术分享
 1 package mypackage;
 2 /*
 3  * 
 4  *                     学生委员类
 5  * 
 6  */
 7 
 8 
 9 public class StudentXW  extends Student implements DBInterface
10     // 声明StudentXW类为Student的子类,实现DBInterface接口
11 {    
12     String responsibility = "";
13     public StudentXW(){    // 子类无参构造方法,实例化学生委员对象
14         super();
15         responsibility = "学生委员";
16     }
17     
18     // 子类的构造方法
19     public StudentXW(String studentNumber,String studentName,double englistScore,double mathScore,double computerScore){
20         // 此处使用有继承时的构造方法
21         super(studentNumber,studentName,englistScore,mathScore,computerScore);
22         // 调用父类的构造方法
23         this.responsibility = "学生委员";
24     }
25 
26     public String getResponsibility() {    // get方法,返回责任信息
27         return responsibility;
28     }
29 
30     public void setResponsibility(String responsibility) {    // set方法,设置责任信息
31         this.responsibility = responsibility;
32     }
33 
34     public double sum()    //返回总成绩
35     {
36         // 由于父类为抽象类,而本科生类为非抽象类,所以要重写父类的抽象方法
37         return(englishScore+mathScore+computerScore);
38     }
39     public double average()    // 返回平均分
40     {
41         // 由于父类为抽象类,而本科生为非抽象类,所以要重写父类的抽象方法
42         return(this.sum()/3);
43     }
44     public double testScore()    // 重写父类testScore方法,用来计算学习委员的评测成绩
45     {
46         return(this.sum()/3+3);    // 平均分+3
47     }
48     public String toString()    // 重写toString方法,格式化返回学习委员的信息
49     {
50         return("测试学习委员\n 学号" + studentNumber + " 姓名:" + studentName + " 责任:" + responsibility + " 评测成绩:" + this.testScore());
51     }
52     public String insert()        // 实现接口的insert方法
53     {
54         return("学习委员信息插入成功");
55     }
56     public String delete()        // 实现接口的delete方法
57     {
58         return("学习委员信息删除成功");
59     }
60     public String update()        // 实现接口的update方法
61     {
62         return("学习委员信息修改成功");
63     }
64 
65 
66 
67 
68 }
View Code

再来个班长类, 班长大大,不可缺少的  哈哈: StudentBZ

技术分享
 1 package mypackage;
 2 /*
 3  * 
 4  *                             班长类
 5  * 
 6  */
 7 public class StudentBZ extends Student implements DBInterface {
 8     // 声明StudentBZ类为Student的子类,实现DBInterface接口
 9     
10     String responsibility = "";
11     public StudentBZ()        // 子类无参构造方法,实例化班长对象
12     {
13         super();
14         responsibility = "班长";
15     }
16     public StudentBZ(String studentNumber,String studentName,double englishScore,double mathScore,double computerScore)
17     {        // 子类构造方法,生成班长实例对象
18         // 此处使用有继承时的构造方法
19         super(studentNumber,studentName,englishScore,mathScore,computerScore);
20         responsibility = "班长";
21     }
22     public String getResponsibility() {    // get方法,返回责任信息
23         return responsibility;
24     }
25     public void setResponsibility(String responsibility) {    // set方法,设置责任信息
26         this.responsibility = responsibility;
27     }
28     public double sum()            // 返回总成绩
29     {    // 由于父类为抽象类,而本科生类为非抽象类,所以要重写父类的抽象方法
30         return(englishScore+mathScore+computerScore);
31     }
32     public double average()        // 返回平均分
33     {    // 由于父类为抽象类,而本科生类为非抽象类,所以要重写父类的抽象方法
34         return(this.sum()/3);
35     }
36     public double testScore()    // 重写父类testScore方法,用来计算班长的评测成绩
37     {
38         return(this.sum()/3+5);    // 平均分加5
39     }
40     public String toString()    // 重写toString方法,格式化返回班长的信息
41     {
42         return("测试班长类\n 学号:" + studentNumber + " 姓名:" + studentName + " 责任:" + responsibility + " 评测成绩:" + this.testScore());
43     }
44     public String insert()        // 实现接口insert()方法
45     {
46         return("班长信息插入成功");
47     }
48     public String delete()        // 实现接口delete()方法
49     {
50         return("班长信息删除成功");
51     }
52     public String update()        // 实现接口update()方法
53     {
54         return("班长信息修改成功");
55     }
56     
57 }
View Code

职位有了,来个学历级别的,本科生的 : Undergraduate

技术分享
 1 package mypackage;
 2 /*
 3  * 
 4  *                             本科生类
 5  * 
 6  */
 7 public class Undergraduate extends Student implements DBInterface{
 8     // 本科生类,继承自Student类,实现DBInterface接口
 9     protected int paperScore;        // 论文成绩
10     protected String paperTitle;    // 论文题目
11     public Undergraduate()            // 定义无参构造方法
12     {
13         super();
14         paperScore = 0;
15         paperTitle = "";
16     }
17     public Undergraduate(String studentNumber,String studentName,double englishScore,double mathScore,double computerScore,int paperScore,String paperTitle)
18     {    // 定义含参构造方法,实例化本科生对象
19         super(studentNumber,studentName,englishScore,mathScore,computerScore);
20         this.paperScore = paperScore;
21         this.paperTitle = paperTitle;
22     }
23     public int getPaperScore() {        // get方法,获取论文成绩
24         return paperScore;
25     }
26     public void setPaperScore(int paperScore) {        // set方法,设置论文成绩
27         this.paperScore = paperScore;
28     }
29     public String getPaperTitle() {        // get方法,获取论文题目
30         return paperTitle;
31     }
32     public void setPaperTitle(String paperTitle) {    // set方法,设置论文标题
33         this.paperTitle = paperTitle;
34     }
35     public double sum()            // 返回总成绩
36     {    // 由于父类为抽象类,而本科生类为非抽象类,所以要重写父类的抽象方法
37         return(englishScore+mathScore+computerScore);
38     }
39     public double average()        // 返回平均分
40     {    // 由于父类为抽象类,而本科生类为非抽象类,所以要重写父类的抽象方法
41         return(this.sum()/3);
42     }
43     public String toString()    // toString方法,格式化返回本科生信息
44     {
45         return("测试本科生类\n 学号:" + studentNumber + " 姓名:" + studentName + " 论文得分:" + paperScore + " 论文标题:" + paperTitle);
46     }
47     public String insert()        // 实现接口insert方法
48     {
49         return("本科生信息插入成功");
50     }
51     public String delete()        // 实现接口delete方法
52     {
53         return("本科生信息删除成功");
54     }
55     public String update()        // 实现接口update方法
56     {
57         return("本科生信息修改完成");
58     }
59 }
View Code

课程类  ‘’: Course

技术分享
 1 package mypackage;
 2 /*
 3  * 
 4  *                         课程类
 5  * 
 6  */
 7 public class Course extends Student implements DBInterface{
 8     protected String courseNo;            // 课程号
 9     protected String courseName;        // 课程名称
10     public Course(){                    // 无参构造方法
11         super();
12         courseNo = "";
13         courseName = "";
14     }
15     public Course(String studentNumber,String studentName,double englishScore,double mathScore,double computerScore,String courseNo,String courseName)
16     {        // 有参构造方法,实例化课程对象
17         super(studentNumber,studentName,englishScore,mathScore,computerScore);
18         this.courseNo = courseNo;
19         this.courseName = courseName;
20     }
21     public String getCourseNo() {        // get方法获取课程号
22         return courseNo;
23     }
24     public void setCourseNo(String courseNo) {        // set方法设置课程名称
25         this.courseNo = courseNo;
26     }
27     public String getCourseName() {        // get方法获取课程名称
28         return courseName;
29     }
30     public void setCourseName(String courseName) {    // set方法设置课程名称
31         this.courseName = courseName;
32     }
33     public double sum()            // 返回总成绩
34     {
35         return(englishScore+mathScore+computerScore);        // 三门成绩相加
36     }
37     public double average()        // 返回平均分
38     {
39         return(this.sum()/3);
40     }
41     public String toString()    // toString方法,格式化返回学生信息
42     {
43         return("测试课程类\n 学号:" + studentNumber + " 姓名:" + studentName + " 课程号:" + courseNo + " 课程名称:" + courseName);
44     }
45     public String insert()        // 实现接口insert方法
46     {
47         return("课程信息插入成功");
48     }
49     public String delete()        // 实现接口delete方法
50     {
51         return("课程信息删除成功");
52     }
53     public String update()        // 实现接口update方法
54     {
55         return("课程信息修改成功");
56     }
57     
58     
59 }
View Code

课程成绩类:

技术分享
 1 package mypackage;
 2 /*
 3  * 
 4  *                         课程成绩类
 5  * 
 6  */
 7 public class CourseGrade extends Student implements DBInterface{
 8     // 课程成绩类,继承自Student类,实现DBInterface接口
 9     protected String courseNo;            // 课程号
10     protected double courseGrade;        // 课程成绩
11     public CourseGrade(){                // 无参构造方法
12         super();
13         courseNo = "";
14         courseGrade = 0.0;
15     }
16     
17     // 有参构造方法,实例化课程成绩对象
18     public CourseGrade(String studentNumber,String studentName,double englishScore,double mathScore,double computerScore,String courseNo,double courseGrade)
19     {
20         super(studentNumber,studentName,englishScore,mathScore,computerScore);
21         this.courseNo = courseNo;
22         this.courseGrade = courseGrade;
23     }
24 
25     public String getCourseNo() {        // get方法获取课程号
26         return courseNo;
27     }
28 
29     public void setCourseNo(String courseNo) {            // set方法,设置课程号
30         this.courseNo = courseNo;
31     }
32 
33     public double getCourseGrade() {    // get方法获取课程成绩
34         return courseGrade;
35     }
36 
37     public void setCourseGrade(double courseGrade) {    // set方法,设置课程成绩
38         this.courseGrade = courseGrade;
39     }
40     public double sum()                // 返回总成绩
41     {
42         return(englishScore + mathScore + computerScore);
43     }
44     public double average()            // 返回平均分
45     {
46         return(this.sum()/3);
47     }
48     public String insert()            // 实现接口insert方法
49     {
50         return("课程成绩信息插入成功");
51     }
52     public String delete()            // 实现接口delete方法
53     {
54         return("课程成绩信息删除成功");
55     }
56     public String update()            // 实现接口update方法
57     {
58         return("课程成绩信息修改成功");
59     }
60     
61     
62 }
View Code

测试暂时么测试。大致也是这了。

学生信息管理程序