java编程题附带代码 java 代码题( 二 )


// TODO Auto-generated method stub
//用于获取从键盘上输入的信息
Scanner input=new Scanner(System.in);
//创建一个Student类的对象
Student student=new Student();
//从键盘上输入其属性信息
System.out.print("请输入学生的学号:");
student.setsId(input.nextInt());
System.out.print("请输入学生的姓名:");
student.setsName(input.next());
System.out.print("请输入学生的数学成绩:");
student.setMathScore(input.nextDouble());
System.out.print("请输入学生的计算机成绩:");
student.setComputerScore(input.nextDouble());
//并且通过其print方法输出这些信息;
student.print();
//创建一个PostGraduate类的对象
PostGraduate postGraduate=new PostGraduate();
//从键盘上输入其属性信息
System.out.print("请输入研究生的学号:");
postGraduate.setsId(input.nextInt());
System.out.print("请输入研究生的姓名:");
postGraduate.setsName(input.next());
System.out.print("请输入研究生的数学成绩:");
postGraduate.setMathScore(input.nextDouble());
System.out.print("请输入研究生的计算机成绩:");
postGraduate.setComputerScore(input.nextDouble());
System.out.print("请输入研究生的导师姓名:");
postGraduate.settName(input.next());
System.out.print("请输入研究生的研究方向:");
postGraduate.setResearchDirection(input.next());
//并且通过其print方法输出这些信息 。
postGraduate.print();
}
}
---------------------------Main代码结束------------------------------
=================知识点的简单总结=================
本题考察的知识点是面向对象的三大特性之一:继承 。
Student为父类 , 包含了学号、姓名、数学成绩和计算机成绩4个属性,以及一个print()方法 。
PostGraduate 继承父类的时候,继承了父类中的所有方法,因为方法我都是用的public,而属性继承不了 , 因为我在父类中用了封装,所有属性都用private修饰了,想访问属性的话,必须通过get、set方法,这里,我重写了父类中的print方法 , 通过super.print();调用了父类中的print()方法 。
最后就是Main类,提供了main方法作为入口函数,用于按要求声明这些对象以及去调用对象中的方法 。
请求大神帮我解答这道java编程题(填写代码)此题的Employee类设计有缺陷,缺少员工薪水的属性 。根据题意只能写出下面的程序:
abstract class Employee {
public abstract double earnings();
}
class YearWorker extends Employee {
@Override
public double earnings() {
return 0;
}
}
class MonthWorker extends Employee {
@Override
public double earnings() {
return 0;
}
}
class WeekWorker extends Employee {
@Override
public double earnings() {
return 0;
}
}
class Company {
Employee[] employee;
double salaries = 0;
Company(Employee[] employee) {
this.employee = employee;
}
public double salariesPay() {
salaries = 0;
//计算salaries
for(int i=0; iemployee.length; i++) {
salaries += employee[i].earnings();
}
return salaries;
}
}
public class HardWork {
public static void main(String[] args) {
Employee[] employee = new Employee[20];
for(int i=0; iemployee.length; i++) {
if(i % 3 == 0) {
employee[i] = new YearWorker();
}
else if(i % 3 == 1) {
employee[i] = new MonthWorker();
}
else if(i % 3 == 2) {
employee[i] = new WeekWorker();
}
}
Company company = new Company(employee);
System.out.println("公司年工资总额:" + company.salariesPay());

推荐阅读