版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
Java語言》課程作業(yè)(第二次)題目第十六題學院~計算機學院專業(yè)軟件工程班別14級(2)班學號3114006212姓名馮杰俊2015年11月25日一、課程題目16.為某公司編寫一個工資支付系統(tǒng),用于計算某一類員工的月薪。該公司共有四類員工:領固定月薪的(SalariedEmployee),計時取酬的(HourlyEmployee,如果一月工時超過160小時,則還需對額外的工時支付加班費)、按銷售額提成(CommissionEmployee)的和帶底薪并按銷售額提成的(BasePlusCommissionEmployee),其繼承層次結構如下所示。已知每類員工均有表示員工工號、姓名和出生年月的屬性,和用于計算員工月薪的方法。創(chuàng)建一個Employee變量數(shù)組,保存Employee類層次結構中每個具體類對象的引用,對每個Employee顯示其工號、姓名、出生年月和月收入,如果當月是Employee的生日所在的月份,則還另發(fā)給他100月作為紅包。二、題目分析與設計題目需求:計算每一類員工的工資創(chuàng)建一個Employee變量數(shù)組,保存Employee類層次結構中每個具體類對象的引用對每個Employee顯示其工號、姓名、出生年月和月收入創(chuàng)造一個employee抽象類,其中有employee的基本屬性:工號、姓名、出生年月和月收入,還有一個抽象方法,每一個類員工都是一個具體類,對抽象方法進行不同的重載,以實現(xiàn)不同員工不同的工資計算方法,另外因為本題沒有給出當前月份、固定月薪、銷售每件產(chǎn)品的提成、時薪、加班費等,因此本程序都以假設的方法自行設定,保存在多個接口中,在每個類中按需繼承3.繼承層次結構4.開發(fā)環(huán)境:Eclipse三、測試分析程序輸出:pleaseenteremployeetype0:SalariedEmployee1:HourlyEmployee2:CommissionEmployee3:BasePlusCommissionEmployee用戶輸入:0(這里以固定月薪做示范,假定當前為11月,固定月薪為5000)程序輸出:pleaseenterdetailsofthisemployee(namenumberbirthyearbirthmonth)forexample:John9527199510用戶輸入:Jack5816199810name:Jacknumber:5816birthyear:1998birthmonth:10income:5000.000000②pleaseenteremployeetype0:SalariedEmployee1:HourlyEmployee2:CommissionEmployee3:BasePlusCommissionEmployee用戶輸入:0程序輸出:pleaseenterdetailsofthisemployee(namenumberbirthyearbirthmonth)forexample:John9527199510用戶輸入:Jack5816199811(其他不變,月份輸入11)程序輸出:name:Jacknumber:5816birthyear:1998birthmonth:11income:5100.000000(發(fā)了100元紅包)附錄:源代碼importjava.util.Scanner;abstractclassEmployee{publicintnumber;publicString[]name=newString[10];publicintbirthYear;publicintbirthMonth;publicstaticdoublesalary;publicabstractvoidpay(String[]name,intnumber,intbirthYear,intbirthMonth);}interfaceGetMonth{publicintmonth=ll;〃假設現(xiàn)在是11月份}interfaceGetSalaryPerMonth{publicdoublesalaryPerMonth=5000;〃假設月薪5000元}interfaceGetWorkTime{publicdoubleworkTime=250;〃假設每個月工作時間200小時publicdoublesalaryPerHour=20;〃時薪20兀publicdoubleoverTimePay=30;〃加班費30元每小時}interfaceGetAmountOfSaled{publicintamountOfSaled=500;〃假設一個月銷量500件publicdoublesalaryPerSaled=10;〃假設賣一件10元}interfaceGetBase{publicdoublebase=2000;〃假設底薪2000元}classSalariedEmployeeextendsEmployeeimplementsGetMonth,GetSalaryPerMonth{publicvoidpay(String[]name,intnumber,intbirthYear,intbirthMonth){if(birthMonth==month)salary=salaryPerMonth+100;//當月為生日月份,則發(fā)100元發(fā)紅包elsesalary=salaryPerMonth;System.out.printf("%s\n",name+"%d\n",number+"出生年月:%d%d\n",birthYear,birthMonth+"月收入:%lf\n",salary);}}classHourlyEmployeeextendsEmployeeimplementsGetMonth,GetWorkTime{publicvoidpay(String[]name,intnumber,intbirthYear,intbirthMonth){if(workTime>160)salary=workTime*20+(workTime-160)*30;elsesalary=workTime*20;if(birthMonth=month)salary+=100;〃當月為生日月份,則發(fā)100元發(fā)紅包System.out.printf("%s\n",name+"%d\n",number+"出生年月:%d%d\n",birthYear,birthMonth+"月收入:%lf\n",salary);}}classCommissionEmployeeextendsEmployeeimplementsGetMonth,GetAmountOfSaled{publicvoidpay(String[]name,intnumber,intbirthYear,intbirthMonth){salary=amountOfSaled*salaryPerSaled;if(birthMonth==month)salary=+100;〃當月為生日月份,則發(fā)100元發(fā)紅包System.out.printf("%s\n",name+"%d\n",number+"出生年月:%d%d\n",birthYear,birthMonth+"月收入:%lf\n",salary);}}classBasePlusCommissionEmployeeextendsEmployeeimplementsGetMonth,GetAmountOfSaled,GetBase{publicvoidpay(String[]name,intnumber,intbirthYear,intbirthMonth){salary=amountOfSaled*salaryPerSaled+base;if(birthMonth=month)salary=+100;〃當月為生日月份,則發(fā)100元發(fā)紅包System.out.printf("%s\n",name+"%d\n",number+"出生年月:%d%d\n",birthYear,birthMonth+"月收入:%lf\n",salary);}}publicclassPaysystemimplementsGetMonth{publicstaticvoidmain(Stringargs[]){Employee[]Data=newEmployee[4];Data[0]=newSalariedEmployee();Data[1]=newHourlyEmployee();Data[2]=newCommissionEmployee();Data[3]=newBasePlusCommissionEmployee();〃倉U建一個Employee變量數(shù)組,保存Employee類層次結構中每個具體類對象的引用,System.out.println("pleaseenteremployeetype\n0:SalariedEmployee1:HourlyEmployee2:CommissionEmployee3:BasePlusCommissionEmployee");Scanners=newScanner(System.in);inta=s.nextInt();if(a!=0&&a!=1&&a!=2&&a!=3){System.out.println("error");System.exit(0);}System.out.println("pleaseenterdetailsofthisemployee(namenumberbirthyearbirthmonth)\nforexample:\nJohn\n9527\n1995\n10");Stringstr=s.next();inth=s.nextInt();intl=s.nextInt();intm=s.nextInt();System.out.printf("name:%s\n",str);System.out.printf("number:%d\nbirthyear:%d\nbirthmonth:%d\n",h,l,m);switch(a){case(0):{if(l==11)System.out.printf("income:%f",SalariedEmployee.salary=5100);elseSystem.out.prin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度網(wǎng)絡劇主演聘請服務協(xié)議3篇
- 2025年度綠色家居建材供應與服務合同4篇
- 2025年度苗木種植基地水資源管理與利用合同4篇
- 2025年度盤扣結構設計咨詢服務合同
- 二零二五年度體育場館場地租用管理協(xié)議3篇
- 2025年雙眼皮膠項目投資可行性研究分析報告
- 2025年多畫面彩色電視燈項目投資可行性研究分析報告
- 2025年冷軋光亮帶鋼項目可行性研究報告
- 2025年電機端蓋壓鑄件項目投資可行性研究分析報告
- 2025年凍鲅魚段行業(yè)深度研究分析報告
- 我的家鄉(xiāng)瓊海
- (2025)專業(yè)技術人員繼續(xù)教育公需課題庫(附含答案)
- 《互聯(lián)網(wǎng)現(xiàn)狀和發(fā)展》課件
- 【MOOC】計算機組成原理-電子科技大學 中國大學慕課MOOC答案
- 2024年上海健康醫(yī)學院單招職業(yè)適應性測試題庫及答案解析
- 2024年湖北省武漢市中考語文適應性試卷
- 非新生兒破傷風診療規(guī)范(2024年版)解讀
- EDIFIER漫步者S880使用說明書
- 皮膚惡性黑色素瘤-疾病研究白皮書
- 從心理學看現(xiàn)代家庭教育課件
- C語言程序設計PPT(第7版)高職完整全套教學課件
評論
0/150
提交評論