早教吧 育儿知识 作业答案 考试题库 百科 知识分享

JAVA编程作业完成下面父类和子类的定义:(1)定义Student类,放入stu包中。属性包括学号、姓名、英语成绩、数学成绩、计算机成绩和总成绩。方法包括构造方法、get方法、set方法、toString

题目详情
JAVA编程作业
完成下面父类和子类的定义:
(1)定义Student类,放入stu包中。
属性包括学号、姓名、英语成绩、数学成绩、计算机成绩和总成绩。
方法包括构造方法、get方法、set方法、toString方法(返回该类的对象)、equals方法(比较两个对象是否相等,若等返回true,否则返回false)、compare方法(比较两个学生的总成绩,结果分为大于、小于、等于)、sum方法(计算总成绩)、testScore方法(计算评测成绩)。
注:评测成绩可以取三门课成绩的平均分,另外任何一门课的成绩的改变都需要对总成绩进行重新计算,因此在每一个set方法中应调用sum方法计算总成绩。
(2)定义StudentXW类为Student的子类,放入sub包中。
在StudentXW(学习委员)类中增加责任属性,并重写testScore方法(计算测评成绩,测评成绩=三门课的平均分+3)。
(3)定义StudentBZ(班长)类为Student的子类,放入sub包中。
在StudentXW(学习委员)类中增加责任属性,并重写testScore方法(计算测评成绩,测评成绩=三门课的平均分+5)。
(4)定义测试类,生成若干个Student类、StudentXW类及StudentXW类的对象,并分别计算它们的评测成绩。
▼优质解答
答案和解析
网上找的,你试试能用吗
public class Student implements Comparable{
public Student(String no, String name) {
this.no = no;
this.name = name;
}
public Student() {
}
public Student(String no, String name, double english, double maths,
double computer, double sum) {
this.no = no;
this.name = name;
this.english = english;
this.maths = maths;
this.computer = computer;
this.sum = sum;
}

private String no;
private String name;
private double english;
private double maths;
private double computer;
private Double sum=0.0;
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getEnglish() {
return english;
}
public void setEnglish(double english) {
this.english = english;
sum+=english;
}
public double getMaths() {
return maths;
}
public void setMaths(double maths) {
this.maths = maths;
sum+=maths;
}
public double getComputer() {
return computer;
}
public void setComputer(double computer) {
this.computer = computer;
sum+=computer;
}
public Double getSum() {
return sum;
}
public void setSum(Double sum) {
this.sum = sum;
}
public String toString() {
return "学号:"+no+"姓名"+name+"英语"+english+"数学"+maths+"计算机"+computer+"总成绩"+sum;
}
public int compareTo(Object o) {
return sum.compareTo(((Student)o).getSum());
}
public Double sum(){
return english+maths+computer;
}
public Double testScore(){
return sum/3;
}
}
public class StudentXW extends Student{
public StudentXW(String no, String name) {
super(no,name);
}
public StudentXW() {
super();
}
private String duty;
public String getDuty() {
return duty;
}
public void setDuty(String duty) {
this.duty = duty;
}
public Double testScore() {
return super.testScore()+3;
}
}
public class StudentBZ extends Student{
public StudentBZ(String no, String name) {
super(no,name);
}
public StudentBZ() {
super();
}
private String duty;
public String getDuty() {
return duty;
}
public void setDuty(String duty) {
this.duty = duty;
}
public Double testScore() {
return super.testScore()+5;
}
}
public class Test {
public static void main(String[] args) {
Student student1=new Student("001","1");
student1.setEnglish(60.0);
student1.setMaths(60.0);
student1.setComputer(60.0);
System.out.println(student1+"测试成绩是"+student1.testScore());
Student student2=new StudentXW("002","2");
student2.setEnglish(70.0);
student2.setMaths(70.0);
student2.setComputer(70.0);
System.out.println(student2+"测试成绩是"+student2.testScore());
Student student3=new StudentBZ("003","3");
student3.setEnglish(80.0);
student3.setMaths(80.0);
student3.setComputer(80.0);
System.out.println(student3+"测试成绩是"+student3.testScore());
}
}
看了 JAVA编程作业完成下面父类...的网友还看了以下:

秋季运动会上,四(1)班的4名女同学在4×100米接力赛中的成绩如下表,你能很快算出它们接力赛的总  2020-05-17 …

央视二频道《咏乐汇》央视二频道《咏乐汇》节目中,国际巨星成龙在回答一现场观众有关其子房祖名为何姓“  2020-06-16 …

下表是2004年雅典奥运会男子110米栏决赛的结果.其中最后一名选手的成绩比第一名选手的成绩少秒.  2020-06-18 …

近期央视二套《咏乐汇》节目中,国际巨星成龙在回答一现场观众有关其子房祖名为何姓“房”却不随父姓这一  2020-06-27 …

oracle利用decode函数竖表改横表,表内容如下:姓名课别成绩张三良好张三及格张三英语较好李四  2020-11-04 …

递减数列公式姓名基础会计审计财务经济法经济数学税法职业道德总分平均成绩成绩等级陈之和778082-7  2020-11-10 …

房祖名是成龙的儿子,没有随父姓。成龙曾经公开解释说:这是由于近年才知道自己的父亲原来姓“房”,祖名成  2020-11-16 …

24.2014年10月30号,姓名权的立法解释通过了审议:公民原则上应当随父姓或者母姓,有正当理由的  2020-11-21 …

2014年10月30号,姓名权的立法解释通过了审议:公民原则上应当随父姓或者母姓,有正当理由的可以在  2020-11-21 …

关于T-SQL语句。3现有三个表student(tID学生号,fname姓名)subject(fsu  2020-12-21 …