1. 程式人生 > >山科java作業2-4 191 - 員工的工資

山科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);
    }


}