版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、【實(shí)驗(yàn)名稱】Java程序設(shè)計(jì)基礎(chǔ) 【實(shí)驗(yàn)?zāi)康摹?1、學(xué)習(xí)和掌握J(rèn)ava程序的基本結(jié)構(gòu)。 2、學(xué)習(xí)和掌握J(rèn)ava程序的基本開發(fā)過程和方法。 3、學(xué)習(xí)和掌握程序設(shè)計(jì)的基本開發(fā)步驟。 4、學(xué)習(xí)和掌握J(rèn)ava程序的基本輸入、輸出方法。 5、學(xué)習(xí)和掌握J(rèn)ava程序設(shè)計(jì)的基本技術(shù)。 【實(shí)驗(yàn)日期和時(shí)間記錄】實(shí)驗(yàn)預(yù)習(xí)時(shí)間:2014.4.12.8:3010:30實(shí)驗(yàn)過程時(shí)間:2014.4.12 10:3017:00及2014.4.26.8:3012:00【實(shí)驗(yàn)內(nèi)容】 1、創(chuàng)建、編譯和執(zhí)行Welcome.java。(參見教材1.7和1.8小節(jié),P8-11)【實(shí)驗(yàn)預(yù)習(xí)】1. 這道題需要解決的是輸出“welcome
2、to java”這個(gè)字符串。2. 解決方案:用system.out.println(“welcome to java”).方法輸出。沒有輸入與處理,直接輸出。3. 學(xué)會(huì)輸出字符串的方法?!靖剑撼绦虼a】public class Welcomepublic static void main(Stringargs)System.out.println("Welcome to java!");/輸出并顯示信息Welcome to java!【實(shí)驗(yàn)過程及結(jié)果記錄】在實(shí)驗(yàn)過程中沒有遇到問題,需要注意的是System.out.println();的第一個(gè)字母大寫。2、(財(cái)務(wù)應(yīng)用程序:工
3、資單)編寫程序,讀入工資基本信息并打印工資單。編寫兩種版本的程序,依次使用控制臺(tái)實(shí)現(xiàn)輸入輸出和GUI實(shí)現(xiàn)輸入輸出。運(yùn)行效果可參見圖1和圖2。 說明:題目來(lái)源,教材編程練習(xí)2.11(P51)??刂婆_(tái)輸入輸出,請(qǐng)參考教材2.3(P21)和1.8小節(jié)(P10)。GUI輸入輸出,請(qǐng)參考教材2.18(P44)和1.9(P12)小節(jié)。 圖1 工資單(控制臺(tái)輸入、輸出) 1)從控制臺(tái)輸入【實(shí)驗(yàn)預(yù)習(xí)】1. 該程序是用來(lái)打印工資單。2. 讀入信息,將信息以按照一定格式輸出?!靖剑撼绦虼a】import java.util.Scanner;public class Payrollpublic static voi
4、d main(Stringargs)/創(chuàng)建一個(gè)Scanner Scanner input=new Scanner(System.in);/輸入姓名int("Enter employee's name:");String name=input.next();/輸入工作時(shí)間System.out.print("Enter number of hour worked in a week:");double weekHour=input.nextInt();/輸入每小時(shí)工資數(shù)System.out.print("Enter hourly pay r
5、ate:");double payRate=input.nextDouble();/輸入聯(lián)邦稅率System.out.print("Enter federal tax withoutholding rate:");double federalRate=input.nextDouble();/輸入州稅稅率System.out.print("Enter state tax withoutholding rate:");double stateRate=input.nextDouble();/輸出工資單System.out.println("
6、;雇員姓名:"+ name);System.out.println("工作小時(shí)數(shù):"+ weekHour);System.out.println("每小時(shí)工資數(shù):$" + payRate);System.out.println(" 工資總收入:$"+ payRate*weekHour);System.out.println(" 所納稅款:");System.out.println(" 聯(lián)邦稅<"+ federalRate*100 + "%>:$" + f
7、ederalRate*payRate*weekHour);System.out.println(" 州稅:<" + stateRate*100 +"%>:$" + (int)(stateRate*100*payRate*weekHour)/100.0);System.out.println(" 總納稅:$" + (int)(federalRate*payRate*weekHour+stateRate*payRate*weekHour)*100)/100.0 );System.out.println(" 凈收入:$
8、" + (int)(payRate*weekHour - federalRate*payRate*weekHour - stateRate*payRate*weekHour)*100)/100.0);【實(shí)驗(yàn)過程及結(jié)果記錄】實(shí)驗(yàn)過程遇到的問題是:不會(huì)保留兩位小數(shù)。在題中最后求州稅和凈收入和總納稅需保留兩位小數(shù)。解決方法是現(xiàn)將要保留的乘以100,取整后,在除以100.0即可。2)使用GUI【實(shí)驗(yàn)預(yù)習(xí)】1.該程序是用來(lái)打印工資單。2.通過GUI讀入信息,將信息按照一定格式用GUI輸出。【附:程序代碼】import javax.swing.JOptionPane;public class P
9、ayrollGUIpublic static void main(Stringargs)/輸入雇員姓名String name=JOptionPane.showInputDialog("Enter employee's name:");/輸入工作小時(shí)數(shù)String weekHourString=JOptionPane.showInputDialog("Enter number of hour worked in a week:");int weekHour=Integer.parseInt(weekHourString);/輸入每小時(shí)工資數(shù)Stri
10、ng payRateString=JOptionPane.showInputDialog("Enter hourly pay rate:");Double payRate=Double.parseDouble(payRateString);/輸入聯(lián)邦稅率String federalRateString=JOptionPane.showInputDialog("Enter federal tax withoutholding rate:");Double federalRate=Double.parseDouble(federalRateString);/
11、輸入州稅稅率String stateRateString=JOptionPane.showInputDialog("Enter state tax withoutholding rate:");Double stateRate=Double.parseDouble(stateRateString);/用GUI輸出工資單String output1="雇員姓名:"+ name+"n"String output2="工作小時(shí)數(shù):"+ weekHour +"n"String output3="
12、;每小時(shí)工資數(shù):$" + payRate +"n"String output4="工資總收入:$"+ payRate*weekHour +"n"String output5="所納稅款:"+"n"String output6=" 聯(lián)邦稅<"+ federalRate*100.0 + "%>:$" + federalRate*payRate*weekHour+"n"String output7=" 州稅:&
13、lt;" + stateRate*100.0 +"%>:$" + (int)(stateRate*100*payRate*weekHour)/100.0+"n"String output8=" 總納稅:$" + (int)(federalRate*payRate*weekHour+stateRate*payRate*weekHour)*100)/100.0 +"n"String output9="凈收入:$" + (int)(payRate*weekHour - federalR
14、ate*payRate*weekHour - stateRate*payRate*weekHour)*100)/100.0 +"n"JOptionPane.showMessageDialog(null,output1+output2+output3+output4+output5+output6+output7+output8+output9);【實(shí)驗(yàn)過程及結(jié)果記錄】 實(shí)驗(yàn)中遇到的問題是:在使用federalRateString=JOptionPane.showInputDialog("Enter federal tax withoutholding rate:&
15、quot;);這句話中,JOptionPane.showInputDialog()函數(shù)直接返回的是String類型。不用在轉(zhuǎn)化。3、(財(cái)務(wù)應(yīng)用程序:計(jì)算稅款)按照表1,基于納稅人的身份和可征稅收入,編寫程序,計(jì)算某個(gè)納稅人的納稅額。比如,計(jì)算一個(gè)收入400000美元的單身納稅人的納稅額。程序的運(yùn)行效果見圖3。 說明:題目來(lái)源,編程練習(xí)3.13(P85)和程序清單3-6(P68)。程序設(shè)計(jì)的基本步驟,參見2.2小節(jié)(P18)和教材P84給出的教學(xué)注意。解決方案的選擇模型,參見授課ppt文稿。 【實(shí)驗(yàn)預(yù)習(xí)】1、 這道題解決的是計(jì)算某個(gè)納稅人的納稅額。2、 輸入:用戶先輸入選擇的納稅人所屬類型。輸入
16、納稅人收入。處理:判讀納稅人所屬類型,及分別求納稅人的收入的不同階段所需的納稅額,求和。輸出:輸出納稅人所交稅款3、 技術(shù)支持:用到的是輸入函數(shù),條件語(yǔ)句,輸出函數(shù)。4、 實(shí)驗(yàn)步驟:先寫出輸入輸出語(yǔ)句,在寫中間處理部分?!靖剑撼绦虼a】import java.util.Scanner;public class ComputeTaxpublic static void main(Stringargs)/創(chuàng)建一個(gè)ScannerScanner input=new Scanner(System.in);/輸入用戶所屬類型System.out.println("(0-單身稅人,1-已婚共同納稅
17、人或證實(shí)的鰥寡,2-已婚單獨(dú)納稅人,3-家庭戶主納稅人)");System.out.println("Enter the filling status:");int status= input.nextInt();/輸入用戶收入System.out.println("Enter the taxable income:");double income=input.nextDouble();double tax=0;if(status=0)/計(jì)算單身稅人的稅款if(income<=6000)tax=income*0.10;else if(in
18、come<=27950)tax=6000*0.10+(income-6000)*0.15;else if(income<=67700)tax=6000*0.10+(27950-6000)*0.15+(income-27950)*0.27;else if(income<=141250)tax=6000*0.10+(27950-6000)*0.15+(67700-27950)*0.27+(income-67700)*0.30;else if(income<=307050)tax=6000*0.10+(27950-6000)*0.15+(57700-27950)*0.27+(
19、141250-67700)*0.30+(income-141250)*0.35;else tax=6000*0.10+(27950-6000)*0.15+(57700-27950)*0.27+(141250-67700)*0.30+(307050-141250)*0.35+(income-307050)*0.386;else if(status=1)/計(jì)算已婚共同納稅人或證實(shí)的鰥寡的稅款if(income<=12000)tax=income*0.10;else if(income<=46700)tax=12000*0.10+(income-12000)*0.15;else if(i
20、ncome<=112850)tax=12000*0.10+(46700-12000)*0.15+(income-46700)*0.27;else if(income<=171950)tax=12000*0.10+(46700-12000)*0.15+(112850-46700)*0.27+(income-112850)*0.30;else if(income<=307050)tax=12000*0.10+(46700-12000)*0.15+(112850-46700)*0.27+(171950-112850)*0.30+(income-171950)*0.35;else t
21、ax=12000*0.10+(46700-12000)*0.15+(112850-46700)*0.27+(171950-112850)*0.30+(307950-171950)*0.35+(income-307050)*0.386;else if(status=2)/計(jì)算已婚單獨(dú)納稅人的稅款if(income<=6000)tax=income*0.10;else if(income<=23350)tax=6000*0.10+(income-6000)*0.15;else if(income<=56425)tax=6000*0.10+(46700-6000)*0.15+(in
22、come-23350)*0.27;else if(income<=85976)tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(income-56425)*0.30;else if(income<=153525)tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(85976-56425)*0.30+(income-85976)*0.35;else tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(85976-56425)*0
23、.30+(85976-171950)*0.35+(income-85976)*0.386;else if(status=3)/計(jì)算家庭戶主納稅人的稅款if(income<=10000)tax=income*0.10;else if(income<=37450)tax=10000*0.10+(income-10000)*0.15;else if(income<=96700)tax=10000*0.10+(37450-10000)*0.15+(income-37450)*0.27;else if(income<=156600)tax=10000*0.10+(37450-10
24、000)*0.15+(96700-37450)*0.27+(income-96700)*0.30;else if(income<=307050)tax=10000*0.10+(37450-10000)*0.15+(96700-37450)*0.27+(156600-96700)*0.30+(income-156600)*0.35;else tax=10000*0.10+(37450-10000)*0.15+(96700-37450)*0.27+(156600-96700)*0.30+(307050-156600)*0.35+(income-307050)*0.386;else Syste
25、m.out.println("Error:invalid status");System.exit(0);/輸出該用戶所交稅款System.out.println("Tax is"+(int)(tax*100)/100.0);【實(shí)驗(yàn)過程及結(jié)果記錄】實(shí)驗(yàn)中遇到的問題:暫無(wú)。4、(財(cái)務(wù)應(yīng)用程序:打印稅表)在問題3的基礎(chǔ)上,使用下面的方法頭部,編寫一個(gè)計(jì)算稅款的方法: public static double computeTax()int status,double taxableIncome) 使用這個(gè)方法編寫程序,打印可征稅收入從50000美元到6000
26、0美元,收入間隔50美元的所有四種納稅人的納稅表。 說明:題目來(lái)源,編程練習(xí)5.15(P152)。程序設(shè)計(jì)的基本步驟,參見2.2小節(jié)(P18)和教材P84給出的教學(xué)注意。解決方案的循環(huán)設(shè)計(jì)策略,參見小節(jié)(P94)。方法,參見教材第5章?!緦?shí)驗(yàn)預(yù)習(xí)】1、 問題描述:打印四種納稅人的納稅表2、 沒有輸入,處理:判斷收入每部分所需付稅款,求和。輸出:每隔50美元寫出四種納稅人所需付稅款3、 技術(shù)支持:用到的是條件語(yǔ)句,循環(huán)語(yǔ)句,輸出語(yǔ)句?!靖剑撼绦虼a】import java.util.Scanner;public class PrintTaxpublic static void main(Stri
27、ngargs)System.out.println("Taxable income"+"t"+"Single"+"tt"+"Married joint"+"t"+"Married Seperate"+"t"+"Head of");/打印可征稅收入從50000美元到60000美元,收入間隔50美元的所有四種納稅人的納稅表。for(double income=50000;income<=60000;income=i
28、ncome+50)System.out.print(income);for(int status=0;status<=3;status+)System.out.print("ttt"+computeTax(status,income);System.out.println();/計(jì)算稅款的函數(shù)public static double computeTax(int status,double income)double tax=0;if(status=0)if(income<=6000)tax=income*0.10;else if(income<=2795
29、0)tax=6000*0.10+(income-6000)*0.15;else if(income<=67700)tax=6000*0.10+(27950-6000)*0.15+(income-27950)*0.27;else if(income<=141250)tax=6000*0.10+(27950-6000)*0.15+(67700-27950)*0.27+(income-67700)*0.30;else if(income<=307050)tax=6000*0.10+(27950-6000)*0.15+(57700-27950)*0.27+(141250-67700)
30、*0.30+(income-141250)*0.35;else tax=6000*0.10+(27950-6000)*0.15+(57700-27950)*0.27+(141250-67700)*0.30+(307050-141250)*0.35+(income-307050)*0.386;else if(status=1)if(income<=12000)tax=income*0.10;else if(income<=46700)tax=12000*0.10+(income-12000)*0.15;else if(income<=112850)tax=12000*0.10+
31、(46700-12000)*0.15+(income-46700)*0.27;else if(income<=171950)tax=12000*0.10+(46700-12000)*0.15+(112850-46700)*0.27+(income-112850)*0.30;else if(income<=307050)tax=12000*0.10+(46700-12000)*0.15+(112850-46700)*0.27+(171950-112850)*0.30+(income-171950)*0.35;else tax=12000*0.10+(46700-12000)*0.15
32、+(112850-46700)*0.27+(171950-112850)*0.30+(307950-171950)*0.35+(income-307050)*0.386;else if(status=2)if(income<=6000)tax=income*0.10;else if(income<=23350)tax=6000*0.10+(income-6000)*0.15;else if(income<=56425)tax=6000*0.10+(46700-6000)*0.15+(income-23350)*0.27;else if(income<=85976)tax
33、=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(income-56425)*0.30;else if(income<=153525)tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(85976-56425)*0.30+(income-85976)*0.35;else tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(85976-56425)*0.30+(85976-171950)*0.35+(income-85976)*0.386;
34、else if(status=3)if(income<=10000)tax=income*0.10;else if(income<=37450)tax=10000*0.10+(income-10000)*0.15;else if(income<=96700)tax=10000*0.10+(37450-10000)*0.15+(income-37450)*0.27;else if(income<=156600)tax=10000*0.10+(37450-10000)*0.15+(96700-37450)*0.27+(income-96700)*0.30;else if(i
35、ncome<=307050)tax=10000*0.10+(37450-10000)*0.15+(96700-37450)*0.27+(156600-96700)*0.30+(income-156600)*0.35;else tax=10000*0.10+(37450-10000)*0.15+(96700-37450)*0.27+(156600-96700)*0.30+(307050-156600)*0.35+(income-307050)*0.386;else System.out.println("Error:invalid status");System.exi
36、t(0);return tax;【實(shí)驗(yàn)過程及結(jié)果記錄】 注意找出通式。5、(財(cái)務(wù)應(yīng)用程序:計(jì)算稅款)使用數(shù)組重新編寫問題3的實(shí)現(xiàn)。使用數(shù)組表示稅率: double rates = 0.10,0.15,0.25,0.28,0.33,0.35; 使用數(shù)組表示收入分段: int brackets = 8350,33950,82250,171550,372950, 16700,67900,137050,208850,372950, 8350,33950,68525,104425,186475, 11950,45500,117450,190200,372950 ; 參照問題3和4,編程實(shí)現(xiàn)計(jì)算稅款。 說
37、明:題目來(lái)源,編程練習(xí)7.12(P205)。數(shù)組技術(shù),參見教材第6和第7章。 【實(shí)驗(yàn)預(yù)習(xí)】1. 用數(shù)組計(jì)算稅款2. 輸入:輸入納稅人所屬類型,及納稅人的收入。處理:用數(shù)組方法調(diào)用稅率及收入上下限,求收入每部分所需付的稅款,求和。輸出:輸出稅款。3、技術(shù)支持:數(shù)組,輸入語(yǔ)句,條件語(yǔ)句,輸出語(yǔ)句?!靖剑撼绦虼a】import java.util.Scanner;public class arrayComputeTaxpublic static void main(Stringargs)double rates=0.10,0.15,0.25,0.28,0.33,0.35;int brackets=8350,33950,82250,171550,372950,16700,67900,137050,208850,372950,8350,33950,68525,104425,186475,11950,45500
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年杭州二手房買賣合同房屋質(zhì)量與保修協(xié)議3篇
- 2024年武漢信息傳播職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 2024年桂林師范高等??茖W(xué)校高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 2025年度數(shù)字營(yíng)銷平臺(tái)軟件服務(wù)續(xù)費(fèi)合同2篇
- 2024年拉薩師范高等專科學(xué)校高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 2024年懷化職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2024年張家界航空工業(yè)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 2024年廣西金融職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 二零二五年度輪胎行業(yè)創(chuàng)新技術(shù)與市場(chǎng)應(yīng)用協(xié)議3篇
- 2024年廣東信息工程職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 2024文旅景區(qū)秋季稻田豐收節(jié)稻花香里 說豐年主題活動(dòng)策劃方案
- 高低壓供配電設(shè)備檢查和檢修保養(yǎng)合同3篇
- 2023-2024學(xué)年福建省廈門市八年級(jí)(上)期末物理試卷
- 霧化吸入療法合理用藥專家共識(shí)(2024版)解讀
- GA/T 804-2024機(jī)動(dòng)車號(hào)牌專用固封裝置
- DBJ04∕T 398-2019 電動(dòng)汽車充電基礎(chǔ)設(shè)施技術(shù)標(biāo)準(zhǔn)
- 國(guó)有資本投資、運(yùn)營(yíng)公司改革初探 20240927 -遠(yuǎn)東資信
- 《新課改下的農(nóng)村小學(xué)班主任工作策略的研究》課題研究方案
- 蘇教版三年級(jí)上冊(cè)除法豎式計(jì)算題練習(xí)300道及答案
- JGT 486-2015 混凝土用復(fù)合摻合料
- 2024年上海市楊浦區(qū)高三語(yǔ)文一模作文范文(39篇)
評(píng)論
0/150
提交評(píng)論