北京信息科技大学Java语言程序设计-Java语言设计基础_第1页
北京信息科技大学Java语言程序设计-Java语言设计基础_第2页
北京信息科技大学Java语言程序设计-Java语言设计基础_第3页
北京信息科技大学Java语言程序设计-Java语言设计基础_第4页
北京信息科技大学Java语言程序设计-Java语言设计基础_第5页
已阅读5页,还剩21页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【实验名称】Java程序设计基础 【实验目的】1、学习和掌握Javag序的基本结构。2、学习和掌握Javag序的基本开发过程和方法。3、学习和掌握程序设计的基本开发步骤。4、学习和掌握Java程序的基本输入、输出方法。5、学习和掌握Java程序设计的基本技术。【实验日期和时间记录】实验预习时间: 2014.4.12.8:3010:30实验过程时间: 2014.4.12 10:3017:00及2014.4.26.8:3012:00【实验内容】1、创建、编译和执行 Welcome.java。(参见教材1.7和1.8小节,P8-11)【实验预习】1. 这道题需要解决的是输出“ welcome to

2、java ”这个字符串。2. 解决方案:用 system.out.println( “welcome to java ”).方法输出。没有输入与处理,直接输出。3. 学会输出字符串的方法。【附:程序代码】public class Welcomepublic static void main(Stringargs)System.out.println("Welcome to java!");/ 输 出 并 显 示 信 息Welcome to java!【实验过程及结果记录】E :Uc leone 讣战¥©E s jauii>jaua He leone

3、 Ue lcome to jausi?E ijaua>在实验过程中没有遇到问题,需要注意的是System.out.println();的第一个字母大写。2、(财务应用程序:工资单)编写程序,读入工资基本信息并打印工 资单。编写两种版本的程序,依次使用控制台实现输入输出和GUI实现输入 输出。运行效果可参见图1和图2。说明:题目来源,教材编程练习2.11(P51)。控制台输入输出, 请参考教材2.3( P21 )和1.8小节(P10)。GU输入输出,请参考教 材2.18(P44)和 1.9(P12)小节。图1工资单(控制台输入、输出)1)从控制台输入【实验预习】1. 该程序是用来打印工资单

4、。2. 读入信息,将信息以按照一定格式输出。【附:程序代码】import java.util.Sca nner;public class Payroll public static void main(Stringargs)/ 创建一个 ScannerScanner input=new Scanner(System.in);/ 输入姓名System.out.print("Enter employee's name:");String name=input.next();/ 输入工作时间System.out.print("Enter number of ho

5、ur worked in a week:"); double weekHour=input.nextInt();/ 输入每小时工资数System.out.print("Enter hourly pay rate:");double payRate=input.nextDouble();/ 输入联邦税率System.out.print("Enter federal tax withoutholding rate:"); double federalRate=input.nextDouble();/ 输入州税税率System.out.print(&

6、quot;Enter state tax withoutholding rate:"); double stateRate=input.nextDouble();/ 输出工资单System.out.println(" 雇员姓名 :"+ name);System.out.println(" 工作小时数 :"+ weekHour);System.out.println(" 每小时工资数 :$" + payRate);System.out.println(" 工资总收入 :$"+ payRate*weekHou

7、r);System.out.println(" 所纳税款 :");System.out.println(" 联邦税 <"+ federalRate*100 + "%>:$" + federalRate*payRate*weekHour);System.out.println("州 税 :<" + stateRate*100 +"%>:$" +(int)(stateRate*100*payRate*weekHour)/100.0);System.out.println(&q

8、uot; 总 纳 税 :$" + (int)(federalRate*payRate*weekHour+stateRate*payRate*weekHour) *100)/100.0 );System.out.println(" 净 收 入 :$" + (int)(payRate*weekHour - federalRate*payRate*weekHour - stateRate*payRate*weekHour)*100)/100.0);实验过程及结果记录】fewQXWirdowssystem32cmd.exe回i实验过程遇到的问题是:不会保留两位小数。在题中

9、最后求州税和净E: jaua.>cd exper-Lmen tE: Xj avaxexpe pinen t >j a.vac Paypo 11. aE: vjauaexpe vinen t >jaua Pa.jFi*<J 11 Enter enployee" s name:SnithEntep nunbev of houi* uoi*ked in a ueak:10Ent ei* Ente v EnterhotiPlFpate : 6.7Sfeder-al ta>f uithauthoLding i*ate = 3-23 state tax if it

10、ho ut ho Idin g* rate: 0.09雇员姓名:Smith=10:$G7.5每小联邦 <20.0z>=$13.5 *|'|稅:"個乂:話.9?总Wft=ii2-57WA = M7.92E; java.expGriient ?4=4 FnF收入和总纳税需保留两位小数。解决方法是现将要保留的乘以100,取整后,在除以100.0即可2)使用GUI【实验预习】1该程序是用来打印工资单。2通过GUI读入信息,将信息按照一定格式用 GU输出【附:程序代码】import javax.swi ng.JO ptio nPane;public class Payrol

11、lGUI public static void main( Stri ngargs)/输入雇员姓名String name=JOptionPane.showInputDialog("Enter employee's name:");/ 输入工作小时数String weekHourString=JOptionPane.showInputDialog("Enter number of hour worked in a week:");int weekHour=Integer.parseInt(weekHourString);/ 输入每小时工资数Stri

12、ng payRateString=JOptionPane.showInputDialog("Enter hourly pay rate:");Double payRate=Double.parseDouble(payRateString);/ 输入联邦税率String federalRateString=JOptionPane.showInputDialog("Enter federal tax withoutholding rate:");Double federalRate=Double.parseDouble(federalRateString);

13、/ 输入州税税率String stateRateString=JOptionPane.showInputDialog("Enter state tax withoutholding rate:");Double stateRate=Double.parseDouble(stateRateString);/用GUI输出工资单String output1=" 雇员姓名 :"+ name+"n"String output2=" 工作小时数 :"+ weekHour +"n"String output3

14、=" 每小时工资数 :$" + payRate +"n"String output4二"工资总收入:$"+ payRate*weekHour +"n"String output5="所纳税款:"+"n"String output6="联邦税 <"+ federalRate*100.0 + "%>:$"federalRate*payRate*weekHour+"n"String output7="

15、州税:<"+ stateRate*100.0 +"%>:$"(in t)(stateRate*100*payRate*weekHour)/100.0+"n"Stri ngoutput8="总 纳 税:$"(in t)(federalRate*payRate*weekH ou叶 stateRate*payRate*weekHour) *100)/100.0 +"n"String output9="净收入:$"+ (int)(payRate*weekHourfederalRat

16、e*payRate*weekHour stateRate*payRate*weekHour)*100)/100.0 +"n"JOpti onPan e.showMessageDialog( null,output1+output2+output3+o utput4+output5+output6+output7+output8+output9);【实验过程及结果记录】实验 中遇到 的 问题是在使 用federalRateString=JOptionPane.showInputDialog("Enter federal tax withoutholding rate

17、:");这句话中,JOptionPane.showInputDialog ()函数直接返回的是String 类型。不用在转化。3、(财务应用程序:计算税款)按照表 1,基于纳税人的身份和可征 税收入,编写程序,计算某个纳税人的纳税额。比如,计算一个收入 400000美元的单身纳税人的纳税额。程序的运行效果见图 3。说明:题目来源,编程练习3.13( P85)和程序清单3-6(P68)。程 序设计的基本步骤,参见2.2小节(P18)和教材P84给出的教学注意。 解决方案的选择模型,参见授课ppt文稿。【实验预习】1、这道题解决的是计算某个纳税人的纳税额。2、输入:用户先输入选择的纳税人

18、所属类型。输入纳税人收入。 处理:判读纳税人所属类型,及分别求纳税人的收入的不同阶 段所需的纳税额,求和。输出:输出纳税人所交税款3、技术支持:用到的是输入函数,条件语句,输出函数。4、实验步骤:先写出输入输出语句,在写中间处理部分。【附:程序代码】import java.util.Scanner;public class ComputeTax public static void main(Stringargs)/ 创建一个 ScannerScanner input=new Scanner(System.in);/输入用户所属类型System.out.println("(0- 单身

19、税人, 1- 已婚共同纳税人或证实的鳏寡, 2-已婚单独纳税人, 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)/ 计算单身税人的税款 if(income<=6000)tax=in

20、come*0.10;else if(income<=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+(incom e-67700)*0.30;else if(income<=307050)tax=6000*0.10+(27950-6000)*0

21、.15+(57700-27950)*0.27+(14125 0-67700)*0.30+(income-141250)*0.35;else tax=6000*0.10+(27950-6000)*0.15+(57700-27950)*0.27+(14125 0-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+

22、(income-12000)*0.15;else if(income<=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+(inc ome-112850)*0.30;else if(income<=307050) tax=12000*0.10+(46700-12000)*0.15+(112850-46700)*0.27+(17 1950-112850

23、)*0.30+(income-171950)*0.35;else tax=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)/ 计算已婚单独纳税人的税款 if(income<=6000)tax=income*0.10;else if(income<=23350) tax=6000*0.10+(income-6000)*0.15;else if(income<=5642

24、5) tax=6000*0.10+(46700-6000)*0.15+(income-23350)*0.27;else if(income<=85976) tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(incom e-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-600

25、0)*0.15+(56425-23350)*0.27+(85976 -56425)*0.30+(85976-171950)*0.35+(income-85976)*0.386;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;els

26、e if(income<=156600) tax=10000*0.10+(37450-10000)*0.15+(96700-37450)*0.27+(inco me-96700)*0.30;else if(income<=307050) tax=10000*0.10+(37450-10000)*0.15+(96700-37450)*0.27+(156 600-96700)*0.30+(income-156600)*0.35;else tax=10000*0.10+(37450-10000)*0.15+(96700-37450)*0.27+(156600 -96700)*0.30+(

27、307050-156600)*0.35+(income-307050)*0.386;else System.out.println("Error:invalid status");System.exit(0);/ 输出该用户所交税款System.out.println("Tax is"+(int)(tax*100)/100.0);【实验过程及结果记录】fc:Xjaua>cd ftxperlnentE*XjaiJaXxperinieriitj-auaiz ComputeTax_Ja.oaE : jpinent>jaua Comptitelax&

28、#169;单身税人已婚共同纳税人或证实的鳏崑皆已婚単独纳税人,a家庭户主纳觀2Ent er* the f lllimg status- a甘Ent ex' tJic taxable JLii<uric -rax isl2?698.7E s JaivcLScxpcr incnit >ca lor f 0E: jauaexpeFinerat >EB 苣匡虽 C:',i I idet em 3 2cn d. txr实验中遇到的问题:暂无4、(财务应用程序:打印税表)在问题 3的基础上,使用下面的方法头部,编写一个计算税款的方法:public static doubl

29、e computeTax()i nt status,double taxable In come)使用这个方法编写程序,打印可征税收入从 50000美元到60000美元, 收入间隔50美元的所有四种纳税人的纳税表。说明:题目来源,编程练习5.15( P152)。程序设计的基本步骤,参见2.2小节(P18)和教材P84给出的教学注意。解决方案的循环 设计策略,参见422小节(P94)。方法,参见教材第5章。【实验预习】1、问题描述:打印四种纳税人的纳税表2、没有输入,处理:判断收入每部分所需付税款,求和。输出:每隔50美元写出四种纳税人所需付税款3、技术支持:用到的是条件语句,循环语句,输出语句

30、。附:程序代码】import java.util.Scanner;public class PrintTaxpublic static void main(Stringargs)System.out.println("Taxable income"+"t"+"Single"+"tt"+"Married joint"+"t"+"Married Seperate"+"t"+"Head of");/打印可征税收入从 500

31、00美元到60000美元,收入间隔 50美元的所有 四种纳税人的纳税表。for(double income=50000;income<=60000;income=income+50) System.out.print(income);for(int status=0;status<=3;status+) System.out.print("ttt"+computeTax(status,income);System.out.println();/ 计算税款的函数public static double computeTax(int status,double in

32、come) double tax=0;if(status=0)if(income<=6000)tax=income*0.10;else if(income<=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+(incom e-67700)*0.3

33、0;else if(income<=307050)tax=6000*0.10+(27950-6000)*0.15+(57700-27950)*0.27+(14125 0-67700)*0.30+(income-141250)*0.35;else tax=6000*0.10+(27950-6000)*0.15+(57700-27950)*0.27+(14125 0-67700)*0.30+(307050-141250)*0.35+(income-307050)*0.386;else if(status=1)if(income<=12000)tax=income*0.10;else i

34、f(income<=46700) tax=12000*0.10+(income-12000)*0.15;else if(income<=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+(inc ome-112850)*0.30;else if(income<=307050)tax=12000*0.10+(46700-12000)*0.15+(11

35、2850-46700)*0.27+(17 1950-112850)*0.30+(income-171950)*0.35;else tax=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)if(income<=6000)tax=income*0.10;else if(income<=23350)tax=6000*0.10+(income-6000)*0.15;else i

36、f(income<=56425) tax=6000*0.10+(46700-6000)*0.15+(income-23350)*0.27;else if(income<=85976)tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(incom e-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*

37、0.10+(23350-6000)*0.15+(56425-23350)*0.27+(85976-56425)*0.30+(85976-171950)*0.35+(income-85976)*0.386;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 i

38、f(income<=156600)tax=10000*0.10+(37450-10000)*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-1

39、56600)*0.35+(income-307050)*0.386;else System.out.println("Error:invalid status");System.exit(0);return tax;【实验过程及结果记录】闘 言理辰匚 - nti i 2cm c. e:<eC -MJsers AdmijnistrciLt(jp>e :E-xJ-cd JavdLt-expermentE 瓷 Xja>uaje xpei*inierit >Jauac: PpintTax _ jauaE- xjauaixexpErlineriitAjfiiu

40、N FrintTaxIaxsble incciiie: SingleHat'ried jointHarrled SeperateHead ofS£3G.e9S4f, R7296.0139M.550SS0.SS519-S?859.5730?513?丄 450160.0ecas.e9873.87323.013927.50546.5903t.E7336.513941.050M0.0ts&c.s9936.07350.013954.5曲 50.08573-599L3.73E3.5139&8.8翊眦0I5B7.8*/927.B?377,013981,566S6-59940

41、.7390.£13995.08611.8宁丫54.U7404.B14U0H,5£04期一 099ft7.r57417,514H22.q505 豳.0Q641.0?B1.,07431-014035,5半:注意找出通式。5、(财务应用程序:计算税款)使用数组重新编写问题 3的实现。使用数组表示税率:double rates = 0.10,0.15,0.25,0.28,0.33,0.35;使用数组表示收入分段:in t brackets = 8350,33950,82250,171550,372950, 16700,67900,137050,208850,372950, 8350

42、,33950,68525,104425,186475, 11950,45500,117450,190200,372950;参照问题 3和4,编程实现计算税款。说明:题目来源,编程练习7.12 ( P205)。数组技术,参见教材 第6和第7章。【实验预习】1. 用数组计算税款2. 输入:输入纳税人所属类型,及纳税人的收入。处理:用数组方法调用税率及收入上下限, 求收入每部分所需付的税 款,求和。输出:输出税款。3、技术支持:数组,输入语句,条件语句,输出语句。 【附:程序代码】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,11 7450,190200,372950;/输入纳税人所属类型Scanner input=new Scanner(System.in);System.out.printl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论