当前位置: 首页 > 其他范文 > 其他范文

实验报告实验一

作者:ljl2003 | 发布时间:2020-12-16 06:32:01 收藏本文 下载本文

【实验名称】 实验1 Java程序设计基础 【实验目标】 1、学习和掌握Java程序的基本结构。

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

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

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

5、学习和掌握Java程序设计的基本技.【实验日期和时间记录】2014.4.18-2014.4.26 1.创建、编译和执行 Welcome.java。

【 实验预习】 练习利用 Java 输出简单语句。

【实验过程及结果记录】 public class Welcome{ public static void main(String[] args){ System.out.println(“Wlecome to Java!”);}

} 2、(财务应用程序:工资单)编写程序,读入工资基本信息并 打印工资单。编写两种版本的程序,依次使用控制台实现输入输出和 GUI 实现输入输出。运行效果可参见图 1 和图 2。

【实验预习】 练习GUI 输入输出,键盘输入,存在一个变量里面,整体输出。

【实验过程及结果记录】 控制台界面 /** * @(#)ComputeAndShowSolary.java * * * @author * @version 1.00 2014/4/12 */

import java.util.Scanner;// public class ComputeAndShowSolary { public static void main(String[] args){ //input section System.out.print("Enter employee"s name:");//Promt the user to enter a name Scanner input= new Scanner(System.in);String name=input.nextLine();//input the name System.out.print("Enter number of hours worked in a week:");//Promt the user to enter number of hours double workhour=input.nextDouble();//input the hour System.out.print("Enter hourly pay rate:");//Promt the user to enter the rate double payrate=input.nextDouble();//input the rate System.out.print("Enter federal tax Withholding rate:");//Promt the user to enter the federal tax rate double federalrate=input.nextDouble();//input the

federal tax rate System.out.print("Enter state tax Withholding rate:");//promt the user to enter the state tax rate double staterate=input.nextDouble();//inout the state tax rate //output section System.out.println(" 雇员姓名: "+name);//output employee"s name System.out.println(" 工 作 小 时 数 : "+workhour);//output hours worked System.out.println(" 每 小 时 工 资 数 : "+"$"+payrate);//output pay rate System.out.println(" 工 资 总 收 入 : "+"$"+payrate*workhour);//output payrate System.out.println(" 所 纳 税 款 :");//output Deductions System.out.println(" 联 邦 税"+"("+federalrate*100+"%"+")"+":

"+"$"+workhour*payrate*federalrate);System.out.println(" 州 税"+"("+staterate*100+"%"+")"+": "+"$"+workhour*payrate*staterate);System.out.printf("总纳税: "+"$");System.out.printf("%.2fn",workhour*payrate*(0.2+0.09));System.out.printf("净收入: "+"$");System.out.printf("%.2f",workhour*payrate*(1.0-0.2-0.09));} } GUI 界面 /** * @(#)ComputeAndShowSolaryWithGUI.java

* * * @author * @version 1.00 2014/4/12 */ import javax.swing.JOptionPane;public class ComputeAndShowSolaryWithGUI { public static void main(String[] args){ //input section String namestring=JOptionPane.showInputDialog("Enter employee"s name:");String hoursstring=JOptionPane.showInputDialog("Enter numbers of hours worked in a week:");

int hours=Integer.parseInt(hoursstring);String payratestring=JOptionPane.showInputDialog("Enter hourly pay rate:");double payrate=Double.parseDouble(payratestring);String federalstring=JOptionPane.showInputDialog("Enter federal tax withholding rate:");double federal=Double.parseDouble(federalstring);String statestring=JOptionPane.showInputDialog("Enter state tax withholding rate:");double state=Double.parseDouble(statestring);//output section

JOptionPane.showMessageDialog(null, "雇员姓名: "+namestring+ "n 工作小时数:"+hours+ "n 每小时工资数:"+"$"+payrate+ "n 工资总收入:"+ "$"+payrate*hours+ "n 所纳税款:"+ "n 联 邦 税(20.0%):"+"$"+hours*payrate*0.2+ "n 州 税(9.0%):"+"$"+(int)(hours*payrate*0.09*100)/100.0+ "n 总 纳 税 :"+"$"+(int)(hours*payrate*(0.2+0.09)*100)/100.00+ "n 净 收 入 :"+"$"+(int)(hours*payrate*(1.0-0.2-0.09)*100)/100.00);}

} 3、(财务应用程序:计算税款)按照表1,基于纳税人的身份和可征税收入,编写程序,计算某个纳税人的纳税额。比如,计算一个收入400000美元的单身纳税人的纳税额。程序的运行效果见图3。

说明:⑴题目来源,编程练习3.13(P85)和程序清单 3-6(P68)。⑵程序设计的基本步骤,参见 2.2 小节(P18)和教材 P84 给出的教学注意。⑶解决方案的选择模型,参见授课 ppt 文稿。

【实验预习】 练习if 语句和基本运算语句 【实验过程及结果记录】 import java.util.Scanner;public class ComputeTax{

public static void main(String[] args){ System.out.println("(0-单身纳税人。1-已婚共同纳税人或证实的鳏寡,2-已婚单独纳税人,3-家庭户主纳税人)");System.out.print("Enter the filing status:");Scanner input=new Scanner(System.in);int choice=input.nextInt();System.out.print("Enter the taxable income:");double income=input.nextDouble();double tax=0;if(0==choice){ if(0<=income&&income<=8350){ tax=income*0.1;} else if(8351<=income&&income<=33950){ tax=8350*0.1+(income-8350)*0.15;}

else if(33951<=income&&income<=82250){ tax=8350*0.1+(33950-8350)*0.15+(income-33950)*0.25;} else if(82251<=income&&income<=171550){ tax=8350*0.1+(33950-8350)*0.15+(82250-33950)*0.25+(income-82250)*0.28;} else if(171551<=income&&income<=372950){ tax=8350*0.1+(33950-8350)*0.15+(82250-33950)*0.25+(171550-82250)*0.28+(income-171550)*0.33;} else if(372951<=income){ tax=8350*0.1+(33950-8350)*0.15+(82250-33950)*0.25+(171550-82250)*0.28+(372950-171550)*0.33+(income-372950)*0.35;

} } if(1==choice){ if(0<=income&&income<=16700){ tax=income*0.1;} else if(16701<=income&&income<=67900){ tax=16700*0.1+(income-16700)*0.15;} else if(67901<=income&&income<=137050){ tax=16700*0.1+(67900-16700)*0.15+(income-67900)*0.25;}

else if(137051<=income&&income<=208850){ tax=16700*0.1+(67900-16700)*0.15+(137050-67900)*0.25+(income-13751)*0.28;} else if(208851<=income&&income<=372950){ tax=16700*0.1+(67900-16700)*0.15+(137050-67900)*0.25+(208850-13751)*0.28+(income-208850)*0.33;} else if(372951<=income){ tax=16700*0.1+(67900-16700)*0.15+(137050-67900)*0.25+(208850-13750)*0.28+(372950-208850)*0.33+(income-372950)*0.35;} }

if(2==choice){ if(0<=income&&income<=8350){ tax=income*0.1;} else if(8351<=income&&income<=33950){ tax=8350*0.1+(income-8350)*0.15;} else if(33951<=income&&income<=67525){ tax=8350*0.1+(33950-8350)*0.15+(income-33950)*0.25;} else if(68526<=income&&income<=104425){ tax=8350*0.1+(33950-8350)*0.15+(68525-33950)*0.25+(income-68525)*0.28;}

else if(104426<=income&&income<=186475){ tax=8350*0.1+(33950-8350)*0.15+(68525-33950)*0.25+(104425-68525)*0.28+(income-171550)*0.33;} else if(186476<=income){ tax=8350*0.1+(33950-8350)*0.15+(68525-33950)*0.25+(104425-68525)*0.28+(186745-104425)*0.33+(income-372950)*0.35;} } if(3==choice){ if(0<=income&&income<=11950){ tax=income*0.1;

} else if(11951<=income&&income<=45500){ tax=11951*0.1+(income-11950)*0.15;} else if(45501<=income&&income<=117450){ tax=11951*0.1+(45500-11950)*0.15+(income-45500)*0.25;} else if(117451<=income&&income<=190200){ tax=11951*0.1+(45500-11950)*0.15+(1175450-45500)*0.25+(income-117450)*0.28;} else if(190201<=income&&income<=372950){ tax=11951*0.1+(45500-11950)*0.15+(1175450-45500)*0.25+(190200-117450)*0.28+(income-171550)*0.33;}

else if(372951<=income){ tax=8350*0.1+(33950-8350)*0.15+(82250-33950)*0.25+(171550-82250)*0.28+(372950-171550)*0.33+(income-372950)*0.35;} } System.out.println("Tax is "+tax);} } 4、(财务应用程序:打印税表)在问题3的基础上,使用下面的方法头部,编写一个计算税款的方法:

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

【实验预习】

练习if 语句,以及方法的使用 【实验过程及结果记录】 /** * @(#)NewComputeTax.java * * * @author * @version 1.00 2014/5/4 */ public class NewComputeTax { public static double computeTax(int status,double taxableIncome){ double tax=0;double income=taxableIncome;int choice=status;

if(0==choice){ if(0<=income&&income<=8350){ tax=income*0.1;} else if(8351<=income&&income<=33950){ tax=8350*0.1+(income-8350)*0.15;} else if(33951<=income&&income<=82250){ tax=8350*0.1+(33950-8350)*0.15+(income-33950)*0.25;} else if(82251<=income&&income<=171550){ tax=8350*0.1+(33950-8350)*0.15+(82250-33950)*0.25+(income-82250)*0.28;} else if(171551<=income&&income<=372950){

tax=8350*0.1+(33950-8350)*0.15+(82250-33950)*0.25+(171550-82250)*0.28+(income-171550)*0.33;} else if(372951<=income){ tax=8350*0.1+(33950-8350)*0.15+(82250-33950)*0.25+(171550-82250)*0.28+(372950-171550)*0.33+(income-372950)*0.35;} } if(1==choice){ if(0<=income&&income<=16700){ tax=income*0.1;} else if(16701<=income&&income<=67900){ tax=16700*0.1+(income-16700)*0.15;

} else if(67901<=income&&income<=137050){ tax=16700*0.1+(67900-16700)*0.15+(income-67900)*0.25;} else if(137051<=income&&income<=208850){ tax=16700*0.1+(67900-16700)*0.15+(137050-67900)*0.25+(income-13751)*0.28;} else if(208851<=income&&income<=372950){ tax=16700*0.1+(67900-16700)*0.15+(137050-67900)*0.25+(208850-13751)*0.28+(income-208850)*0.33;} else if(372951<=income){ tax=16700*0.1+(67900-16700)*0.15+(137050-67900)*0.25+(208850-13750)*0.28+(372950-208850)*0.33+(income-372950)*

0.35;} } if(2==choice){ if(0<=income&&income<=8350){ tax=income*0.1;} else if(8351<=income&&income<=33950){ tax=8350*0.1+(income-8350)*0.15;} else if(33951<=income&&income<=67525){ tax=8350*0.1+(33950-8350)*0.15+(income-33950)*0.25;} else if(68526<=income&&income<=104425){

tax=8350*0.1+(33950-8350)*0.15+(68525-33950)*0.25+(income-68525)*0.28;} else if(104426<=income&&income<=186475){ tax=8350*0.1+(33950-8350)*0.15+(68525-33950)*0.25+(104425-68525)*0.28+(income-171550)*0.33;} else if(186476<=income){ tax=8350*0.1+(33950-8350)*0.15+(68525-33950)*0.25+(104425-68525)*0.28+(186745-104425)*0.33+(income-372950)*0.35;} }

if(3==choice){ if(0<=income&&income<=11950){ tax=income*0.1;} else if(11951<=income&&income<=45500){ tax=11951*0.1+(income-11950)*0.15;} else if(45501<=income&&income<=117450){ tax=11951*0.1+(45500-11950)*0.15+(income-45500)*0.25;} else if(117451<=income&&income<=190200){ tax=11951*0.1+(45500-11950)*0.15+(1175450-45500)*0.25+(income-117450)*0.28;} else if(190201<=income&&income<=372950){

tax=11951*0.1+(45500-11950)*0.15+(1175450-45500)*0.25+(190200-117450)*0.28+(income-171550)*0.33;} else if(372951<=income){ tax=8350*0.1+(33950-8350)*0.15+(82250-33950)*0.25+(171550-82250)*0.28+(372950-171550)*0.33+(income-372950)*0.35;} } System.out.println(choice+" "+income+" "+tax);return 0;} public static void main(String[] args){ for(int status=0;status<4;status++){ for(double income=50000;income<=60000;income+=50){ computeTax(status,income);}

} } } 5、(财务应用程序:计算税款)使用数组重新编写问题3的实现。使用数组表示税率:

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,117450,190200,372950} };【实验预习】 练习数组的输入输出以及处理数组内的数据。

【实验过程及结果记录】 /**

* @(#)ComputeTaxWithArray.java * * * @author * @version 1.00 2014/5/4 */ import java.util.Scanner;public class ComputeTaxWithArray { public static void main(String[] args){ // Create a Scanner Scanner input = new Scanner(System.in);// Prompt the user to enter filing status // Prompt the user to enter filing status System.out.print("(0-single filer, 1-married jointly,n" + "2-married separately, 3-head of household)n" + "Enter the filing status: ");int status = input.nextInt();// Prompt the user to enter taxable income System.out.print("Enter the taxable income: ");double income = input.nextDouble();// Compute and display the result System.out.println("Tax is " +(int)(computeTax(status, income)* 100)/ 100.0);} public static double computeTax(int status, double income){ double[] rates = {0.10, 0.15, 0.25, 0.28, 0.33,0.35};int[][] brackets = { {8350, 33950, 82250, 171550, 372950}, // Single filer {16700, 67900, 137050, 20885, 372950}, // Married jointly {8350, 33950, 68525, 104425, 186475}, // Married separately {11950, 45500, 117450, 190200, 372950} // Head of household };double tax = 0;// Tax to be computed // Compute tax in the first bracket if(income <= brackets[status][0])return tax = income * rates[0];// Done

else tax = brackets[status][0] * rates[0];// Compute tax in the 2nd, 3rd, 4th, and 5th brackets, if needed for(int i = 1;i < brackets[0].length;i++){ if(income > brackets[status][i])tax +=(brackets[status][i]-brackets[status][i-1])* rates[i];else { tax +=(income-brackets[status][i-1])* rates[i];return tax;// Done } } // Compute tax in the last(i.e., 6th)bracket

return tax +=(income-brackets[status][4])* rates[5];} } 【思考题】  你开始“每天做一点编程练习”了吗? 已经坚持了一段时间  在问题 3 的解决方案中,你使用的是哪种选择结构模型(可以使用流程图描述)?实现这个选择结构模型的 java 语法结构是什么? 先判断纳税人的情况,根据纳税人情况再对其收入进行分析以确定其应缴多少的税;使用的事 if 选择结构  在问题 4 中,你使用了哪种循环方法?为什么? for 循环;循环开始,终止条件一目了然  你如何理解教材作者说的“如果能够使用循环编写程序,你就懂得如何编程了”?(语出教材 P103)利用循环可以简化语句,熟练地掌握编程语言

 从问题 3 到问题 5,可以使用不同的编程技术,解决同一个问题。说说你对这个过程中的编程感受和想法? 编程的方法是多种多样的,不可局限于某一种方法。

计算机图形学实验报告实验一

实验一线性表操作实验报告

编号14:实验一(实验报告)

综合性实验实验报告

过滤实验(实验报告)

本文标题: 实验报告实验一
链接地址:https://www.dawendou.com/fanwen/qitafanwen/313244.html

版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《实验报告实验一》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。

重点推荐栏目

关于大文斗范文网 | 在线投稿 | 网站声明 | 联系我们 | 网站帮助 | 投诉与建议 | 人才招聘 | 网站大事记
Copyright © 2004-2025 dawendou.com Inc. All Rights Reserved.大文斗范文网 版权所有