1.假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资:
(1)经理(Manager)——每月获得一份固定的工资
(2)销售人员(Salesman)——在基本工资的基础上每月还有销售提成。
(3)一般工人(Worker)——则按他每月工作的天数计算工资。
根据上述要求试用类的继承和相关机制描述这些功能,并编写一个Java Application程序,演示这些类的用法。(提示:应设计一个雇员类(Employee)描述所有雇员的共图特性,这个类应该提供一个计算工资的抽象方法ComputeSalary( ),使得可以通过这个类计算所有雇员的工资。经理、销售人员和一般工人对应的类都应该继承这个类,并重新定义计算工资的方法,进而给出它的具体实现。)
2.编写一个Java Application程序,实现如下的设计目标:程序运行时自动产生1~100的随机数,接收用户键盘输入数据并给出提示信息,直至猜对。游戏者猜对后,显示猜测次数,并提供“重新开始”和“退出”功能。
package javaacm;
import java.util.*;
import java.io.*;
import java.math.*;
class Employee{
private String name;
private String sex;
private int age;
public Employee(String name,String sex,int age) {
this.setName(name);
this.setSex(sex);
this.age = age;
}
public double ComputeSalary() {return 0;}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
class Manager extends Employee{
private double salary;
public Manager(String name,String sex,int age,double salary) {
super(name,sex,age);
this.salary = salary;
}
public void display() {
System.out.println(getName()+" "+getSex()+" "+ComputeSalary());
}
public double ComputeSalary() {
return salary;
}
}
class Salesman extends Employee{
private int number;
private double baseSalary;
private double percentage;
public Salesman(String name,String sex,int age,int number,double baseSalary,double percentage) {
super(name,sex,age);
this.number = number;
this.baseSalary = baseSalary;
this.percentage = percentage;
}
public void display() {
System.out.println(getName()+" "+getSex()+" "+ComputeSalary());
}
public double ComputeSalary() {
return baseSalary+percentage*number;
}
}
class Worker extends Employee{
private int day;
private double daySalary;
public Worker(String name,String sex,int age,int day,double daySalary) {
super(name,sex,age);
this.day=day;
this.daySalary=daySalary;
}
public double ComputeSalary() {
return daySalary*day;
}
public void display() {
System.out.println(getName()+