首页 > 代码库 > 学生信息管理程序
学生信息管理程序
来发一个日志。打了好久。
学生信息管理程序 直接贴代码吧。
先定义一个接口类: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 }
接下来是职位 先来个学生委员的类 :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 }
再来个班长类, 班长大大,不可缺少的 哈哈: 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 }
职位有了,来个学历级别的,本科生的 : 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 }
课程类 ‘’: 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 }
课程成绩类:
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 }
测试暂时么测试。大致也是这了。
学生信息管理程序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。