




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上Java語言課程作業(yè)(第二次)題 目 第十六題 學(xué) 院 計(jì)算機(jī)學(xué)院 專 業(yè) 軟件工程 班 別 14級(jí)(2 )班 學(xué) 號(hào) 姓 名 馮杰俊 2015年11月25日專心-專注-專業(yè)一、課程題目 16. 為某公司編寫一個(gè)工資支付系統(tǒng),用于計(jì)算某一類員工的月薪。該公司共有四類員工:領(lǐng)固定月薪的(SalariedEmployee),計(jì)時(shí)取酬的(HourlyEmployee,如果一月工時(shí)超過160小時(shí),則還需對(duì)額外的工時(shí)支付加班費(fèi))、按銷售額提成(CommissionEmployee)的和帶底薪并按銷售額提成的(BasePlusCommissionEmployee),其繼承層次結(jié)構(gòu)
2、如下所示。已知每類員工均有表示員工工號(hào)、姓名和出生年月的屬性,和用于計(jì)算員工月薪的方法。創(chuàng)建一個(gè)Employee變量數(shù)組,保存Employee類層次結(jié)構(gòu)中每個(gè)具體類對(duì)象的引用,對(duì)每個(gè)Employee顯示其工號(hào)、姓名、出生年月和月收入,如果當(dāng)月是Employee的生日所在的月份,則還另發(fā)給他100月作為紅包。二、題目分析與設(shè)計(jì) 1. 題目需求: 計(jì)算每一類員工的工資 創(chuàng)建一個(gè)Employee變量數(shù)組,保存Employee類層次結(jié)構(gòu)中每個(gè)具體類對(duì)象的引用 對(duì)每個(gè)Employee顯示其工號(hào)、姓名、出生年月和月收入2. 創(chuàng)造一個(gè)employee抽象類,其中有employee的基本屬性:工號(hào)、姓名、出生
3、年月和月收入,還有一個(gè)抽象方法,每一個(gè)類員工都是一個(gè)具體類,對(duì)抽象方法進(jìn)行不同的重載,以實(shí)現(xiàn)不同員工不同的工資計(jì)算方法,另外因?yàn)楸绢}沒有給出當(dāng)前月份、固定月薪、銷售每件產(chǎn)品的提成、時(shí)薪、加班費(fèi)等,因此本程序都以假設(shè)的方法自行設(shè)定,保存在多個(gè)接口中,在每個(gè)類中按需繼承3. 繼承層次結(jié)構(gòu)EmployeeSalariedEmployeeCommissionEmployeeHourlyEmployeeBasePlusCommissionEmployee4. 開發(fā)環(huán)境:Eclipse三、測試分析程序輸出:please enter employee type0:SalariedEmployee 1:Hou
4、rlyEmployee 2:CommissionEmployee 3:BasePlusCommissionEmployee用戶輸入:0(這里以固定月薪做示范,假定當(dāng)前為11月,固定月薪為5000)程序輸出:please enter details of this employee(name number birthyear birthmonth)for example:John9527199510用戶輸入:Jack5816199810name:Jacknumber:5816birthyear:1998birthmonth:10income:5000.please enter employee
5、type0:SalariedEmployee 1:HourlyEmployee 2:CommissionEmployee 3:BasePlusCommissionEmployee用戶輸入:0程序輸出:please enter details of this employee(name number birthyear birthmonth)for example:John9527199510用戶輸入:Jack5816199811(其他不變,月份輸入11)程序輸出:name:Jacknumber:5816birthyear:1998birthmonth:11income:5100.(發(fā)了100元
6、紅包)附錄:源代碼import java.util.Scanner; abstract class Employee public int number;public String name=new String10; public int birthYear;public int birthMonth;public static double salary;public abstract void pay(String name,int number,int birthYear,int birthMonth);interface GetMonthpublic int month=11;/假設(shè)
7、現(xiàn)在是11月份interface GetSalaryPerMonthpublic double salaryPerMonth=5000;/假設(shè)月薪5000元interface GetWorkTimepublic double workTime=250;/假設(shè)每個(gè)月工作時(shí)間200小時(shí)public double salaryPerHour=20;/時(shí)薪20元public double overTimePay=30;/加班費(fèi)30元每小時(shí)interface GetAmountOfSaledpublic int amountOfSaled=500;/假設(shè)一個(gè)月銷量500件public double sa
8、laryPerSaled=10;/假設(shè)賣一件10元interface GetBasepublic double base=2000;/假設(shè)底薪2000元class SalariedEmployee extends Employee implements GetMonth,GetSalaryPerMonthpublic void pay(String name,int number,int birthYear,int birthMonth)if(birthMonth=month) salary=salaryPerMonth+100;/當(dāng)月為生日月份,則發(fā)100元發(fā)紅包else salary=sa
9、laryPerMonth;System.out.printf("%sn",name+"%dn",number+"出生年月:%d %dn",birthYear,birthMonth+"月收入:%lfn",salary);class HourlyEmployee extends Employee implements GetMonth,GetWorkTimepublic void pay(String name,int number,int birthYear,int birthMonth)if(workTime>
10、;160) salary=workTime*20+(workTime-160)*30;else salary=workTime*20;if(birthMonth=month) salary+=100;/當(dāng)月為生日月份,則發(fā)100元發(fā)紅包System.out.printf("%sn",name+"%dn",number+"出生年月:%d %dn",birthYear,birthMonth+"月收入:%lfn",salary);class CommissionEmployee extends Employee impl
11、ements GetMonth,GetAmountOfSaledpublic void pay(String name,int number,int birthYear,int birthMonth)salary=amountOfSaled*salaryPerSaled;if(birthMonth=month) salary=+100;/當(dāng)月為生日月份,則發(fā)100元發(fā)紅包System.out.printf("%sn",name+"%dn",number+"出生年月:%d %dn",birthYear,birthMonth+"
12、月收入:%lfn",salary);class BasePlusCommissionEmployee extends Employee implements GetMonth,GetAmountOfSaled,GetBasepublic void pay(String name,int number,int birthYear,int birthMonth)salary=amountOfSaled*salaryPerSaled+base;if(birthMonth=month) salary=+100;/當(dāng)月為生日月份,則發(fā)100元發(fā)紅包System.out.printf("
13、;%sn",name+"%dn",number+"出生年月:%d %dn",birthYear,birthMonth+"月收入:%lfn",salary);public class Paysystem implements GetMonth public static void main(String args)Employee Data=new Employee4;Data0=new SalariedEmployee(); Data1=new HourlyEmployee(); Data2=new CommissionEm
14、ployee(); Data3=new BasePlusCommissionEmployee();/創(chuàng)建一個(gè)Employee變量數(shù)組,保存Employee類層次結(jié)構(gòu)中每個(gè)具體類對(duì)象的引用, System.out.println("please enter employee typen0:SalariedEmployee 1:HourlyEmployee 2:CommissionEmployee 3:BasePlusCommissionEmployee"); Scanner s=new Scanner(System.in); int a=s.nextInt(); if(a!=
15、0&&a!=1&&a!=2&&a!=3) System.out.println("error"); System.exit(0); System.out.println("please enter details of this employee(name number birthyear birthmonth)nfor example:nJohnn9527n1995n10"); String str=s.next(); int h=s.nextInt(); int l=s.nextInt(); int m
16、=s.nextInt(); System.out.printf("name:%sn",str); System.out.printf("number:%dnbirthyear:%dnbirthmonth:%dn",h,l,m); switch(a) case(0): if (l=11) System.out.printf("income:%f",SalariedEmployee.salary=5100); else System.out.printf("income:%f",SalariedEmployee.salary=5000); ;break; case(1): if (l=11) System.out.printf("income:%f",SalariedEmployee.salary=6000); else System.out.printf("income:%f",SalariedEmployee.salary=5900); ;break; case(2): if (l=11) System.out.printf("income:%f",SalariedEmployee.salar
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 海洋生物資源保護(hù)與利用閱讀題
- 建筑結(jié)構(gòu)設(shè)計(jì)與工程計(jì)算練習(xí)題
- 農(nóng)業(yè)大數(shù)據(jù)驅(qū)動(dòng)的決策支持系統(tǒng)建設(shè)
- 環(huán)境友好型業(yè)務(wù)開展證明(5篇)
- 能源與環(huán)境工程測試題庫
- 2025年庭院木制品項(xiàng)目市場調(diào)查研究報(bào)告
- 2025年平面發(fā)光條項(xiàng)目市場調(diào)查研究報(bào)告
- 慢性阻塞性肺疾病護(hù)理案例樣板
- 個(gè)人投資融資資金出資證明(7篇)
- 酒水供貨協(xié)議合同
- 浙江國企筆試題目及答案
- 電力現(xiàn)場安全管理課件
- 分子生物學(xué)技術(shù)在檢驗(yàn)中的應(yīng)用試題及答案
- 中考語文專題一非連續(xù)性文本閱讀市公開課一等獎(jiǎng)市賽課獲獎(jiǎng)?wù)n件
- 裝維人員銷售培訓(xùn)
- 改進(jìn)作風(fēng)測試題及答案
- 2025年數(shù)字療法(Digital+Therapeutics)的市場前景探討
- 提高盆底康復(fù)知識(shí)知曉率
- 2025年經(jīng)濟(jì)師考試(中級(jí))經(jīng)濟(jì)基礎(chǔ)知識(shí)試題及答案指導(dǎo)
- 中國特色社會(huì)主義政治經(jīng)濟(jì)學(xué)知到課后答案智慧樹章節(jié)測試答案2025年春內(nèi)蒙古財(cái)經(jīng)大學(xué)
- 騰訊會(huì)議技能培訓(xùn)
評(píng)論
0/150
提交評(píng)論