




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验名称】 Java程序设计基础 【实验目的】1、学习和掌握 Java程序的基本结构。2、学习和掌握 Java程序的基本开发过程和方法。3、学习和掌握程序设计的基本开发步骤。4、学习和掌握 Java程序的基本输入、输出方法。5、学习和掌握 Java程序设计的基本技术。 【实验日期和时间记录】实验预习时间: 2014.4.12.8:30 10:30 实验过程时间: 2014.4.12 10:30 17:00 及2014.4.26.8:30 12:00 【实验内容】1、创建、编译和执行 Welcome.java 。(参见教材 1.7和1.8 小节,P8-11) 【实验预习】1. 这道题需要解决的是
2、输出“ welcome to 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!精品实验过程及结果记录】在实验过程中没有遇到问题,需要注意的是 System.out.println(); 的第一个字母大写。2、
3、(财务应用程序:工资单)编写程序,读入工资基本信息并打印工 资单。编写两种版本的程序,依次使用控制台实现输入输出和 GUI实现输入 输出。运行效果可参见图 1和图 2。说明:题目来源,教材编程练习 2.11 (P51)。控制台输入输出, 请参考教材 2.3(P21)和1.8小节( P10)。GUI输入输出,请参考教 材2.18 (P44)和1.9 (P12)小节。图 1 工资单(控制台输入、输出)1) 从控制台输入【实验预习】1. 该程序是用来打印工资单。2. 读入信息,将信息以按照一定格式输出。【附:程序代码】 import java.util.Scanner;精品 public class
4、 Payrollpublic static void main(Stringargs)/ 创建一个 ScannerScanner input=new Scanner(System.in);/ 输入姓名System.out.print(Enter employees name:);String name=input.next();/ 输入工作时间System.out.print(Enter number of hour worked in a week:); double weekHour=input.nextInt();/ 输入每小时工资数System.out.print(Enter hour
5、ly pay rate:);double payRate=input.nextDouble();/ 输入联邦税率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(雇员姓名 :+ name);System.o
6、ut.println(工作小时数 :+ weekHour);精品System.out.println(每小时工资数 :$ + payRate);System.out.println(工资总收入 :$+ payRate*weekHour);System.out.println(所纳税款 :);System.out.println(联邦税 :$ +federalRate*payRate*weekHour);System.out.println(州税:$ +(int)(stateRate*100*payRate*weekHour)/100.0);System.out.println( 总 纳 税 :
7、$ + (int)(federalRate*payRate*weekHour+stateRate*payRate*weekH our)*100)/100.0 );System.out.println(净收入 :$ + (int)(payRate*weekHour -federalRate*payRate*weekHourstateRate*payRate*weekHour)*100)/100.0);【实验过程及结果记录】精品实验过程遇到的问题是:不会保留两位小数。 在题中最后求州税和净收入和总纳税需保留两位小数。解决方法是现将要保留的乘以 100,取整后,在除以 100.0 即可 2)使用 G
8、UI【实验预习】1. 该程序是用来打印工资单2. 通过GUI读入信息,将信息按照一定格式用 GUI输出附:程序代码】 import javax.swing.JOptionPane; public class PayrollGUI public static void main(Stringargs)/ 输入雇员姓名精品 String name=JOptionPane.showInputDialog(Enter employees name:);/ 输入工作小时数String weekHourString=JOptionPane.showInputDialog(Enter number of h
9、our worked in a week:);int weekHour=Integer.parseInt(weekHourString);/ 输入每小时工资数String payRateString=JOptionPane.showInputDialog(Enter hourly pay rate:);Double payRate=Double.parseDouble(payRateString);/ 输入联邦税率String federalRateString=JOptionPane.showInputDialog(Enter federal tax withoutholding rate:
10、);Double federalRate=Double.parseDouble(federalRateString);/ 输入州税税率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
11、=每小时工资数 :$ + payRate +n;精品String output4= 工资总收入 :$+ payRate*weekHour +n;String output5= 所纳税款 :+n;String output6=联邦税 :$ +federalRate*payRate*weekHour+n;String output7=州税 :$ +(int)(stateRate*100*payRate*weekHour)/100.0+n;String output8= 总 纳 税 :$ + (int)(federalRate*payRate*weekHour+stateRate*payRate*w
12、eekH our)*100)/100.0 +n;String output9= 净 收 入 : $ + (int)(payRate*weekHour - federalRate*payRate*weekHour - stateRate*payRate*weekHour)*100)/100.0 +n;JOptionPane.showMessageDialog(null,output1+output2+output3+ output4+output5+output6+output7+output8+output9);实验过程及结果记录】精品实验中遇到的问题是:在使用精品federalRateStr
13、ing=JOptionPane.showInputDialog(Enter federal tax withoutholding rate:);这句话中, JOptionPane.showInputDialog ()函数直接返回的是String 类型。不用在转化。3、(财务应用程序:计算税款)按照表 1,基于纳税人的身份和可征 税收入,编写程序,计算某个纳税人的纳税额。比如,计算一个收入 400000美元的单身纳税人的纳税额。程序的运行效果见图 3。 说明:题目来源,编程练习 3.13 (P85)和程序清单 3-6(P68) 。 程序设计的基本步骤,参见 2.2小节( P18)和教材 P84给
14、出的教学注 意。解决方案的选择模型,参见授课 ppt 文稿。【实验预习】1、这道题解决的是计算某个纳税人的纳税额。2、输入:用户先输入选择的纳税人所属类型。输入纳税人收入。 处理:判读纳税人所属类型,及分别求纳税人的收入的不同阶 段所需的纳税额,求和。输出:输出纳税人所交税款3、技术支持:用到的是输入函数,条件语句,输出函数。4、实验步骤:先写出输入输出语句,在写中间处理部分。 【附:程序代码】import java.util.Scanner;public class ComputeTaxpublic static void main(Stringargs)精品/ 创建一个 ScannerSc
15、anner input=new Scanner(System.in);/ 输入用户所属类型System.out.println(0-单身税人, 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)
16、/ 计算单身税人的税款 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+(inco me-67700)*0.30;精品else if(income=307050)tax=6000*
17、0.10+(27950-6000)*0.15+(57700-27950)*0.27+(141250-67700)*0.30+(income-141250)*0.35;else tax=6000*0.10+(27950-6000)*0.15+(57700-27950)*0.27+(1412 50-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=12
18、000*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+(i ncome-112850)*0.30;else if(income=307050)tax=12000*0.10+(46700-12000)*0.15+(112850-46700)*0.27+(171950-112850)*0.30
19、+(income-171950)*0.35;else tax=12000*0.10+(46700-12000)*0.15+(112850-46700)*0.27+(1精品71950-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
20、+(46700-6000)*0.15+(income-23350)*0.27;else if(income=85976) tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(inco me-56425)*0.30;else if(income=153525) tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(8597 6-56425)*0.30+(income-85976)*0.35;else tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.
21、27+(8597 6-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 if(income=156600)tax=10000*0.10+(
22、37450-10000)*0.15+(96700-37450)*0.27+(in come-96700)*0.30;else if(income=307050)tax=10000*0.10+(37450-10000)*0.15+(96700-37450)*0.27+(15 6600-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
23、 System.out.println(Error:invalid status);System.exit(0);/ 输出该用户所交税款精品System.out.println(Tax is+(int)(tax*100)/100.0);实验过程及结果记录】实验中遇到的问题:暂无4、(财务应用程序:打印税表)在问题 3的基础上,使用下面的方法头部,编写一个计算税款的方法:public staticdouble computeTax()int status,double taxableIncome)使用这个方法编写程序,打印可征税收入从 50000美元到 60000美元, 收入间隔 50美元的所有
24、四种纳税人的纳税表。说明:题目来源,编程练习 5.15 (P152)。程序设计的基本步骤, 参见2.2小节( P18)和教材 P84给出的教学注意。解决方案的循环 设计策略,参见 4.2.2 小节( P94)。方法,参见教材第 5章。 【实验预习】1、问题描述:打印四种纳税人的纳税表精品2、没有输入,处理:判断收入每部分所需付税款,求和。输出:每隔50美元写出四种纳税人所需付税款3、技术支持:用到的是条件语句,循环语句,输出语句。 【附:程序代码】import java.util.Scanner; public class PrintTaxpublic static void main(Str
25、ingargs)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=income+50) System.out.print(income);for(int status=0;status=3;status+) System.out.print(ttt+computeTax(statu
26、s,income);System.out.println();/ 计算税款的函数public static double computeTax(int status,double income)精品 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=1
27、41250)tax=6000*0.10+(27950-6000)*0.15+(67700-27950)*0.27+(inco me-67700)*0.30;else if(income=307050)tax=6000*0.10+(27950-6000)*0.15+(57700-27950)*0.27+(1412 50-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-30
28、7050)*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+(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 i
29、f(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+(112850-46700)*0.27+(1 71950-112850)*0.30+(307950-171950)*0.35+(income-307050)*0.3 86;精品else if(status=2)if(income=6000)tax=income*0.10;精品else if(inc
30、ome=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=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(inco me-56425)*0.30;else if(income=153525) tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(85976-56425)*0.
31、30+(income-85976)*0.35;else tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(8597 6-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)
32、*0.15+(income-37450)*0.27;else if(income=156600)tax=10000*0.10+(37450-10000)*0.15+(96700-37450)*0.27+(in come-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+(156
33、600-96700)*0.30+(307050-156600)*0.35+(income-307050)*0.386else System.out.println(Error:invalid status);System.exit(0);return tax;精品实验过程及结果记录】精品注意找出通式。5、(财务应用程序:计算税款)使用数组重新编写问题3的实现。使 用数组表示税率: double rates = 0.10,0.15,0.25,0.28,0.33,0.35; 使用数组表示收入分段: int brackets = 8350,33950,82250,171550,372950, 167
34、00,67900,137050,208850,372950,8350,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,137 050,208850,372950,8350,33950,68525,104425,186475,11950, 45500,1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际家庭日演讲稿(14篇)
- 2025湖北咸宁市通城城市发展建设投资(集团)有限公司第一期招聘模拟试卷及答案详解(考点梳理)
- 2025广东东菀市社卫中心招聘纳入岗位管理编制外7人考前自测高频考点模拟试题及参考答案详解
- 2025年合肥巢湖学院招聘专职辅导员6人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025年专门用途灯具:工艺装饰灯具合作协议书
- 2025安徽淮南市招聘村级后备干部81人模拟试卷及答案详解1套
- 单位财务工作总结(14篇)
- 2025年航空辅助动力系统项目建议书
- 2025呼和浩特市玉泉区消防救援大队招聘4名政府专职消防员考前自测高频考点模拟试题附答案详解(模拟题)
- 2025年山东省慢性病医院(山东省康复中心)招聘工作人员(非编)模拟试卷及一套参考答案详解
- 餐饮服务员工考核评估规定
- 二年级趣味数学校本教材
- JJF新1422024电动汽车充电检测用程控电阻负载校准规范
- 当代主要疾病和预防课件2025-2026学年北师大版生物八年级上册
- 葡萄种植培训课件
- 车辆入股协议书范本合同
- 好利来工作协议合同模板
- 人防检测培训课件
- 2025年睡眠监护仪项目申请报告范文
- 征地拆迁业务知识培训课件
- 3.1 世界是普遍联系的 课件 高中政治统编版必修4 哲学与文化
评论
0/150
提交评论