Java程序设计实验指导书(答案)(3)

2018-12-11 09:35

1: public class Inheritance {

2: public static void main(String args[]) { 3: SubClass subC=new SubClass(); 4: subC.doSomething(); 5: } 6: }

运行结果:

in SuperClass: x=3 in SubClass: x=5

in SuperClass. doSomething() in SubClass. doSomething() super. x=3 sub. x=5

2.假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均超过80分才能够通过。根据上述要求,请完成以下Java类的设计:

(1)设计一个基类Student描述学生的共同特征。

(2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。 (3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。

(4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息。 class Student{ private String name; private int classA,classB,classC; public Student(String name,int classA,int classB,int classC){ this.name=name; this.classA=classA; this.classB=classB; this.classC=classC; } public String getName(){ return name; } public int getAverage(){ return (classA+classB+classC)/3; } }

class UnderGraduate extends Student{ public UnderGraduate(String name,int classA,int classB,int classC){ super(name,classA,classB,classC); } public void isPass(){

- 11 -

if(getAverage()>=60) System.out.println(\本科生\的三科平均分为:\可以拿到学士学位。\ else System.out.println(\本科生\的三科平均分为:\不能拿到学士学位。\ } }

class Graduate extends Student{ public Graduate(String name,int classA,int classB,int classC){ super(name,classA,classB,classC); } public void isPass(){ if(getAverage()>=80) System.out.println(\研究生\的三科平均分为:\可以拿到硕士学位。\ else System.out.println(\研究生\的三科平均分为:\不能拿到硕士学位。\ } }

public class StudentDemo{ public static void main(String[] args){ UnderGraduate s1=new UnderGraduate(\ Graduate s2=new Graduate(\ s1.isPass(); s2.isPass(); } }

运行结果:

本科生Tom的三科平均分为:70,可以拿到学士学位。 研究生Mary的三科平均分为:73,不能拿到硕士学位。

- 12 -

假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资:

(1)经理(Manager)——每月获得一份固定的工资

(2)销售人员(Salesman)——在基本工资的基础上每月还有销售提成。 (3)一般工人(Worker)——则按他每月工作的天数计算工资。

根据上述要求试用类的继承和相关机制描述这些功能,并编写一个Java Application程序,演示这些类的用法。(提示:应设计一个雇员类(Employee)描述所有雇员的共图特性,这个类应该提供一个计算工资的抽象方法ComputeSalary( ),使得可以通过这个类计算所有雇员的工资。经理、销售人员和一般工人对应的类都应该继承这个类,并重新定义计算工资的方法,进而给出它的具体实现。)

abstract class Employee{ private String name; public Employee(String name){ this.name=name; } public String getName(){ return name; } public abstract double computeSalary(); }

class Manager extends Employee{ private double monthSalary; public Manager(String name,double monthSalary){ super(name); this.monthSalary=monthSalary; } public double computeSalary(){ return monthSalary; } }

class Salesman extends Employee{ private double baseSalary; private double commision; private int qualtities; public Salesman(String name,double baseSalary,double commision,int qualtities){ super(name); this.baseSalary=baseSalary; this.commision=commision; this.qualtities=qualtities;

- 13 -

} public double computeSalary(){ return baseSalary+commision*qualtities; } }

class Worker extends Employee{ private double dailySalary; private int days; public Worker(String name,double dailySalary,int days){ super(name); this.dailySalary=dailySalary; this.days=days; } public double computeSalary(){ return dailySalary*days; } }

public class EmployeeDemo{ public static void main(String args[]){ Manager e1=new Manager(\张三\ Salesman e2=new Salesman(\李四\ Worker e3=new Worker(\王五\ System.out.println(\经理\的月工资为:\ System.out.println(\销售人员\的月工资为:\ System.out.println(\工人\的月工资为:\ } }

运行结果:

经理张三的月工资为:10000.0 销售人员李四的月工资为:5175.2 工人王五的月工资为:2226.0

- 14 -

实验6:Java控制台程序设计

一、实验目的

(1)掌握Java命令行参数的使用方法。

(2)掌握Java程序与文件之间的基本输入输出操作

二、实验任务

(1)输入根据给定的Java Application程序,写出运行结果。 (2)编写Java Application程序,实现文件输入功能。 (3)编写Java Application程序,实现文件输出功能。

三、实验内容

1.输入如下所示的Java Application程序,用文字简述运行结果。1: import java.util.Properties; 2: import java.util.Enumeration; 3: public class Testp {

4: public static void main(String[] args) {

5: Properties ps = System.getProperties(); 6: Enumeration pn = ps.propertyNames(); 7: while(pn.hasMoreElements()) { 8: String pName = (String) pn.nextElement(); 9: String pValue = ps.getProperty(pName); 10: System.out.println(pName + \11: } 12: } 13:}

- 15 -


Java程序设计实验指导书(答案)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:实数一对一辅导讲义

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: