山科java作業2-4 191 - 員工的工資
191 - 員工的工資
Time Limit: 1000 Memory Limit: 65535
Submit: 58 Solved: 13
Description
假定要為某個公司編寫僱員工資支付程式,這個公司有各種型別的僱員(Employee),不同型別的僱員按不同的方式支付工資(都是整數): (1)經理(Manager)——每月獲得一份固定的工資 (2)銷售人員(Salesman)——在基本工資的基礎上每月還有銷售提成 (3)一般工人(Worker)——則按他每月工作的天數計算工資 在Employee中提供方法getSalary(),用於計算每個僱員一個月的工資,並在子類中重寫。 Post_AppendCode的main方法中已經構造Employee的三個變數,分別指向Manager、Salesman、Worker的物件,呼叫getSalary方法,輸出三個物件的工資。 要求:編碼實現經理、銷售人員、一般工人三個類。
Input
經理的月工資 銷售人員的基本工資 銷售人員的提成 工人的工作天數 工人每天的工資
Output
經理的工資 銷售人員的工資 工人的工資
Sample Input
12000 3000 5000 22 200
Sample Output
12000 8000 4400
Post Append Code
public class Main{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int managerSalary = scan.nextInt();
int salemanSalary = scan.nextInt();
int salemanRaise = scan.nextInt();
int workerEveryday = scan.nextInt();
int workerDays = scan.nextInt();
Employee e1 = new Manager(managerSalary);
Employee e2 = new Salesman(salemanSalary, salemanRaise);
Employee e3 = new Worker(workerEveryday, workerDays);
System.out.println(e1.getSalary());
System.out.println(e2.getSalary());
System.out.println(e3.getSalary());
scan.close();
}
}
答案:
package 學生大學生研究生類; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); int no = scan.nextInt(); String name = scan.next(); String sex = scan.next(); Student s = new Student(no, name, sex); s.print(); no = scan.nextInt(); name = scan.next(); sex = scan.next(); String major = scan.next(); CollegeStudent c = new CollegeStudent(no, name, sex, major); c.print(); no = scan.nextInt(); name = scan.next(); sex = scan.next(); major = scan.next(); String supervisor = scan.next(); GraduateStudent g = new GraduateStudent(no, name, sex, major, supervisor ); g.print(); g.doResearch(); scan.close(); } } class Student { int no; String name; String gender; public Student(int _no, String n, String g) { this.no = _no; this.name = n; this.gender = g; } public int getNo() { return no; } public void setNo(int no) { this.no = no; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public void print() { System.out.println("no: "+getNo()); System.out.println("name: "+getName()); System.out.println("sex: "+getGender()); } } class CollegeStudent extends Student { String major; public CollegeStudent(int _no, String n, String g, String major) { super(_no, n, g); this.major = major; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } public void print() { super.print(); System.out.println("major: "+getMajor()); } } class GraduateStudent extends CollegeStudent { String supervisor;//導師 public GraduateStudent(int _no, String n, String g, String major, String supervisor) { super(_no, n, g, major); this.supervisor = supervisor; } public String getSupervisor() { return supervisor; } public void setSupervisor(String supervisor) { this.supervisor = supervisor; } public void doResearch() { System.out.println(getName()+" is doing research"); } public void print(){ super.print(); System.out.println("supervisor: "+supervisor); } }