北京信息科技大学Java语言程序设计Java语言设计基础.docx

上传人:b****8 文档编号:12992501 上传时间:2023-06-10 格式:DOCX 页数:20 大小:287.51KB
下载 相关 举报
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第1页
第1页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第2页
第2页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第3页
第3页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第4页
第4页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第5页
第5页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第6页
第6页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第7页
第7页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第8页
第8页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第9页
第9页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第10页
第10页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第11页
第11页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第12页
第12页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第13页
第13页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第14页
第14页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第15页
第15页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第16页
第16页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第17页
第17页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第18页
第18页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第19页
第19页 / 共20页
北京信息科技大学Java语言程序设计Java语言设计基础.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

北京信息科技大学Java语言程序设计Java语言设计基础.docx

《北京信息科技大学Java语言程序设计Java语言设计基础.docx》由会员分享,可在线阅读,更多相关《北京信息科技大学Java语言程序设计Java语言设计基础.docx(20页珍藏版)》请在冰点文库上搜索。

北京信息科技大学Java语言程序设计Java语言设计基础.docx

北京信息科技大学Java语言程序设计Java语言设计基础

【实验名称】Java程序设计基础

【实验目的】

1、学习和掌握Java程序的基本结构。

2、学习和掌握Java程序的基本开发过程和方法。

3、学习和掌握程序设计的基本开发步骤。

4、学习和掌握Java程序的基本输入、输出方法。

5、学习和掌握Java程序设计的基本技术。

【实验日期和时间记录】实验预习时间:

2014.4.12.8:

30—10:

30

实验过程时间:

2014.4.1210:

30—17:

00及2014.4.26.8:

30—12:

00

【实验内容】

1、创建、编译和执行Welcome.java。

(参见教材1.7和1.8小节,P8-11)

【实验预习】

1.这道题需要解决的是输出“welcometojava”这个字符串。

2.解决方案:

用system.out.println(“welcometojava”).方法输出。

没有输入与处理,直接输出。

3.学会输出字符串的方法。

【附:

程序代码】

publicclassWelcome{

publicstaticvoidmain(String[]args){

System.out.println("Welcometojava!

");//输出并显示信息Welcometojava!

}

}

【实验过程及结果记录】

在实验过程中没有遇到问题,需要注意的是System.out.println();的第一个字母大写。

2、(财务应用程序:

工资单)编写程序,读入工资基本信息并打印工资单。

编写两种版本的程序,依次使用控制台实现输入\输出和GUI实现输入\输出。

运行效果可参见图1和图2。

说明:

⑴题目来源,教材编程练习2.11(P51)。

⑵控制台输入输出,请参考教材2.3(P21)和1.8小节(P10)。

⑶GUI输入输出,请参考教材2.18(P44)和1.9(P12)小节。

图1工资单(控制台输入、输出)

1)从控制台输入

【实验预习】

1.该程序是用来打印工资单。

2.读入信息,将信息以按照一定格式输出。

【附:

程序代码】

importjava.util.Scanner;

publicclassPayroll{

publicstaticvoidmain(String[]args){

//创建一个Scanner

Scannerinput=newScanner(System.in);

//输入姓名

System.out.print("Enteremployee'sname:

");

Stringname=input.next();

//输入工作时间

System.out.print("Enternumberofhourworkedinaweek:

");

doubleweekHour=input.nextInt();

//输入每小时工资数

System.out.print("Enterhourlypayrate:

");

doublepayRate=input.nextDouble();

//输入联邦税率

System.out.print("Enterfederaltaxwithoutholdingrate:

");

doublefederalRate=input.nextDouble();

//输入州税税率

System.out.print("Enterstatetaxwithoutholdingrate:

");

doublestateRate=input.nextDouble();

//输出工资单

System.out.println("雇员姓名:

"+name);

System.out.println("工作小时数:

"+weekHour);

System.out.println("每小时工资数:

$"+payRate);

System.out.println("工资总收入:

$"+payRate*weekHour);

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("总纳税:

$"+(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);

}

}

【实验过程及结果记录】

实验过程遇到的问题是:

不会保留两位小数。

在题中最后求州税和净收入和总纳税需保留两位小数。

解决方法是现将要保留的乘以100,取整后,在除以100.0即可。

2)使用GUI

【实验预习】

1.该程序是用来打印工资单。

2.通过GUI读入信息,将信息按照一定格式用GUI输出。

【附:

程序代码】

importjavax.swing.JOptionPane;

publicclassPayrollGUI{

publicstaticvoidmain(String[]args){

//输入雇员姓名

Stringname=JOptionPane.showInputDialog("Enteremployee'sname:

");

//输入工作小时数

StringweekHourString=JOptionPane.showInputDialog("Enternumberofhourworkedinaweek:

");

intweekHour=Integer.parseInt(weekHourString);

//输入每小时工资数

StringpayRateString=JOptionPane.showInputDialog("Enterhourlypayrate:

");

DoublepayRate=Double.parseDouble(payRateString);

//输入联邦税率

StringfederalRateString=JOptionPane.showInputDialog("Enterfederaltaxwithoutholdingrate:

");

DoublefederalRate=Double.parseDouble(federalRateString);

//输入州税税率

StringstateRateString=JOptionPane.showInputDialog("Enterstatetaxwithoutholdingrate:

");

DoublestateRate=Double.parseDouble(stateRateString);

//用GUI输出工资单

Stringoutput1="雇员姓名:

"+name+"\n";

Stringoutput2="工作小时数:

"+weekHour+"\n";

Stringoutput3="每小时工资数:

$"+payRate+"\n";

Stringoutput4="工资总收入:

$"+payRate*weekHour+"\n";

Stringoutput5="所纳税款:

"+"\n";

Stringoutput6="联邦税<"+federalRate*100.0+"%>:

$"+federalRate*payRate*weekHour+"\n";

Stringoutput7="州税:

<"+stateRate*100.0+"%>:

$"+(int)(stateRate*100*payRate*weekHour)/100.0+"\n";

Stringoutput8="总纳税:

$"+(int)((federalRate*payRate*weekHour+stateRate*payRate*weekHour)*100)/100.0+"\n";

Stringoutput9="净收入:

$"+(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);

}

}

【实验过程及结果记录】

实验中遇到的问题是:

在使用federalRateString=JOptionPane.showInputDialog("Enterfederaltaxwithoutholdingrate:

");

这句话中,JOptionPane.showInputDialog()函数直接返回的是String类型。

不用在转化。

3、(财务应用程序:

计算税款)按照表1,基于纳税人的身份和可征税收入,编写程序,计算某个纳税人的纳税额。

比如,计算一个收入400000美元的单身纳税人的纳税额。

程序的运行效果见图3。

说明:

⑴题目来源,编程练习3.13(P85)和程序清单3-6(P68)。

⑵程序设计的基本步骤,参见2.2小节(P18)和教材P84给出的教学注意。

⑶解决方案的选择模型,参见授课ppt文稿。

【实验预习】

1、这道题解决的是计算某个纳税人的纳税额。

2、输入:

用户先输入选择的纳税人所属类型。

输入纳税人收入。

处理:

判读纳税人所属类型,及分别求纳税人的收入的不同阶段所需的纳税额,求和。

输出:

输出纳税人所交税款

3、技术支持:

用到的是输入函数,条件语句,输出函数。

4、实验步骤:

先写出输入输出语句,在写中间处理部分。

【附:

程序代码】

importjava.util.Scanner;

publicclassComputeTax{

publicstaticvoidmain(String[]args){

//创建一个Scanner

Scannerinput=newScanner(System.in);

//输入用户所属类型

System.out.println("(0-单身税人,1-已婚共同纳税人或证实的鳏寡,2-已婚单独纳税人,3-家庭户主纳税人)");

System.out.println("Enterthefillingstatus:

");

intstatus=input.nextInt();

//输入用户收入

System.out.println("Enterthetaxableincome:

");

doubleincome=input.nextDouble();

doubletax=0;

if(status==0)//计算单身税人的税款

{

if(income<=6000){

tax=income*0.10;

}elseif(income<=27950){

tax=6000*0.10+(income-6000)*0.15;

}elseif(income<=67700){

tax=6000*0.10+(27950-6000)*0.15+(income-27950)*0.27;

}elseif(income<=141250){tax=6000*0.10+(27950-6000)*0.15+(67700-27950)*0.27+(income-67700)*0.30;

}elseif(income<=307050){tax=6000*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+(141250-67700)*0.30+(307050-141250)*0.35+(income-307050)*0.386;

}

}elseif(status==1){//计算已婚共同纳税人或证实的鳏寡的税款

if(income<=12000){

tax=income*0.10;

}elseif(income<=46700){

tax=12000*0.10+(income-12000)*0.15;

}elseif(income<=112850){tax=12000*0.10+(46700-12000)*0.15+(income-46700)*0.27;

}elseif(income<=171950){

tax=12000*0.10+(46700-12000)*0.15+(112850-46700)*0.27+(income-112850)*0.30;

}elseif(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+(171950-112850)*0.30+(307950-171950)*0.35+(income-307050)*0.386;

}

}elseif(status==2){//计算已婚单独纳税人的税款

if(income<=6000){

tax=income*0.10;

}elseif(income<=23350){

tax=6000*0.10+(income-6000)*0.15;

}elseif(income<=56425){

tax=6000*0.10+(46700-6000)*0.15+(income-23350)*0.27;

}elseif(income<=85976){tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(income-56425)*0.30;

}elseif(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;

}

}elseif(status==3){//计算家庭户主纳税人的税款

if(income<=10000){

tax=income*0.10;

}elseif(income<=37450){

tax=10000*0.10+(income-10000)*0.15;

}elseif(income<=96700){tax=10000*0.10+(37450-10000)*0.15+(income-37450)*0.27;

}elseif(income<=156600){tax=10000*0.10+(37450-10000)*0.15+(96700-37450)*0.27+(income-96700)*0.30;

}elseif(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{

System.out.println("Error:

invalidstatus");

System.exit(0);

}

//输出该用户所交税款

System.out.println("Taxis"+(int)(tax*100)/100.0);

}

}

【实验过程及结果记录】

实验中遇到的问题:

暂无。

4、(财务应用程序:

打印税表)在问题3的基础上,使用下面的方法头部,编写一个计算税款的方法:

publicstaticdoublecomputeTax()intstatus,doubletaxableIncome)

使用这个方法编写程序,打印可征税收入从50000美元到60000美元,收入间隔50美元的所有四种纳税人的纳税表。

说明:

⑴题目来源,编程练习5.15(P152)。

⑵程序设计的基本步骤,参见2.2小节(P18)和教材P84给出的教学注意。

⑶解决方案的循环设计策略,参见4.2.2小节(P94)。

⑷方法,参见教材第5章。

【实验预习】

1、问题描述:

打印四种纳税人的纳税表

2、没有输入,处理:

判断收入每部分所需付税款,求和。

输出:

每隔50美元写出四种纳税人所需付税款

3、技术支持:

用到的是条件语句,循环语句,输出语句。

【附:

程序代码】

importjava.util.Scanner;

publicclassPrintTax{

publicstaticvoidmain(String[]args){

System.out.println("Taxableincome"+"\t"+"Single"+"\t\t"+"Marriedjoint"+"\t"+"MarriedSeperate"+"\t"+"Headof");

//打印可征税收入从50000美元到60000美元,收入间隔50美元的所有四种纳税人的纳税表。

for(doubleincome=50000;income<=60000;income=income+50){

System.out.print(income);

for(intstatus=0;status<=3;status++){

System.out.print("\t\t\t"+computeTax(status,income));

}

System.out.println();

}

}

//计算税款的函数

publicstaticdoublecomputeTax(intstatus,doubleincome){

doubletax=0;

if(status==0)

{

if(income<=6000){

tax=income*0.10;

}elseif(income<=27950){

tax=6000*0.10+(income-6000)*0.15;

}elseif(income<=67700){

tax=6000*0.10+(27950-6000)*0.15+(income-27950)*0.27;

}elseif(income<=141250){

tax=6000*0.10+(27950-6000)*0.15+(67700-27950)*0.27+(income-67700)*0.30;

}elseif(income<=307050){

tax=6000*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+(141250-67700)*0.30+(307050-141250)*0.35+(income-307050)*0.386;

}

}elseif(status==1){

if(income<=12000){

tax=income*0.10;

}elseif(income<=46700){

tax=12000*0.10+(income-12000)*0.15;

}elseif(income<=112850){

tax=12000*0.10+(46700-12000)*0.15+(income-46700)*0.27;

}elseif(income<=171950){

tax=12000*0.10+(46700-12000)*0.15+(112850-46700)*0.27+(income-112850)*0.30;

}elseif(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+(171950-112850)*0.30+(307950-171950)*0.35+(income-307050)*0.386;

}

}elseif(status==2){

if(income<=6000){

tax=income*0.10;

}elseif(income<=23350){

tax=6000*0.10+(income-6000)*0.15;

}elseif(income<=56425){

tax=6000*0.10+(46700-6000)*0.15+(income-23350)*0.27;

}elseif(income<=85976){

tax=6000*0.10+(23350-6000)*0.15+(56425-23350)*0.27+(income-56425)*0.30;

}elseif(income<=153525){

ta

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2