1、java实验报告YDaninelLiang实验二2014-2015学年第一学期实验报告课程名称: Java EE 平台技术 实验名称: JAVA编程(基础练习) 目录一、实验目的 4二、实验内容 42.1 编写一个各位随机数计算器。 42.2 输出收入50000-60000之间的人的交税表。 42.3 计算两个数的最小公倍数。 42.4 创建类并测试 42.4.1 创建矩形类并测试。 42.4.2 创建时间类并测试。 4三、实验环境 4四、实验结果 44.1随机数计算器 44.2交税表 44.3最小公倍数 44.4. 创建类 54.4.1 创建矩形类 54.4.2 创建时间类 5五、附录 55
2、.1 问题分析 55.1.1 随机数计算器 55.1.2 交税表 55.1.3 最小公倍数 55.1.4 创建类 55.1.4.1 矩形类 55.1.4.2 时间类 55.2 设计方案 55.2.1 随机数计算器 55.2.2 交税表 55.2.3 最小公倍数 55.2.4 创建类 55.2.4.1 矩形类 65.2.4.2 时间类 65.3 算法 65.3.1 随机数计算器 65.3.2 交税表 65.3.3 最小公倍数 65.3.3.1 求质因数 65.3.3.2 求最小公倍数 75.3.4 创建类 85.3.4.1 矩形类 85.4. 设计图 85.4.1 矩形类UML设计图 85.4.
3、2 时间类UML设计图 95.5 仿真结果 95.5.1 随机数计算器 95.5.2 交税表 105.5.3 最小公倍数 105.5.4.1矩形类 115.5.4.2 时间类 125.6 调试心得 125.6.1 错误分析 125.6.2 心得与收获 12一、实验目的通过使用JAVA语言进行基本程序的开发,掌握JAVA通用IDE,练习类的封装使用、JAVA基本类库的使用、利用UML进行简单建模。二、实验内容 2.1 编写一个各位随机数计算器。 2.2 输出收入50000-60000之间的人的交税表。 2.3 计算两个数的最小公倍数。 2.4 创建类并测试 2.4.1 创建矩形类并测试。 2.4
4、.2 创建时间类并测试。三、实验环境Eclipse、Win 8.1四、实验结果 4.1随机数计算器可由用户输入结果并检验对错。 4.2交税表输出了收入50000-60000之间的人的交税表。 4.3最小公倍数 用户输入两个数,输出最小公倍数。4.4. 创建类4.4.1 创建矩形类,由用户指定输入数据,显示最终结果。4.4.2 创建时间类,显示当前时间,输入总时间,将时间换算为时分秒。五、附录5.1 问题分析5.1.1 随机数计算器 该实验要求产生十以内正随机数,算法简单,联系使用GUI消息对话框。5.1.2 交税表 若要输出一系列递增数据,则使用for循环,根据表格公式计算并输出结果。5.1.
5、3 最小公倍数 求最小公倍数,首先要求出每个数的质因数,并用二维数组将质因数与其出现次数记录下来。5.1.4 创建类 5.1.4.1 矩形类 创建一个简单的矩形类,输出数据。5.1.4.2 时间类 该类需要得到系统时间的算法以及由总时间换成时分秒的算法。5.2 设计方案 5.2.1 随机数计算器 产生两个十以内正随机数,计算两数之和,与从消息框读入的数比较,输出对错。5.2.2 交税表 使用for循环,根据表格公式计算并输出结果。5.2.3 最小公倍数 求出每个数的质因数,并用二维数组将质因数与其出现次数记录下来,根据两个数的质因数与出现次数,计算最小公倍数。5.2.4 创建类 5.2.4.1
6、 矩形类分别创建无参构造函数和有参构造函数,创建get和set函数,以及计算面积和周长的函数。5.2.4.2 时间类 换算系统时间,由总时间换成时分秒。5.3 算法5.3.1 随机数计算器 int number1 = (int) (System.currentTimeMillis()%10); int number2 = (int) (System.currentTimeMillis()%7); System.currentTimeMillis()产生一个毫秒数,将其取余得到个位数字。5.3.2 交税表 for(income=50000;income60000;income=income+50
7、) /*single*/ System.out.print (income+tt); System.out.print ( (4090 + ( income - 29700 ) * 0.25)+tt ); /*Married Joint*/ if(income=59400) System.out.print ( (1460 + ( income - 14600 ) * 0.15)+tt ); else System.out.print ( (8180 + ( income - 59400 ) * 0.25)+tt ); /* Married Filing Separately*/ if(inc
8、ome=59975) System.out.print ( (4090 + ( income - 29700 ) * 0.25)+tt ); elseSystem.out.print ( (11658.75 + ( income - 59975 ) * 0.28)+tt ); /*Head of Household*/ System.out.print ( (5447.5 + ( income - 39800 ) * 0.25)+n ); 5.3.3 最小公倍数5.3.3.1 求质因数public static int getPrimeFactors(int number) int table
9、 = new int102; /十行,两列的二位数组存质因数 int factor = 2; /先用2做因数 int temp = number; int i = 0; /table行数计数器 for (; factor table2j1) n *= (int) Math.pow(table1i0, table1i1); else n *= (int) Math.pow(table2j0, table2j1); i+; j+; else if (table1i0 table2j0) n *= (int) Math.pow(table1i0, table1i1); i+; else n *= (
10、int) Math.pow(table2j0, table2j1); j+; while (table2j0 != 0) n *= (int) Math.pow(table2j0, table2j1); j+; while (table1i0 != 0) n *= (int) Math.pow(table1i0, table1i1); i+; return n; 5.3.4 创建类 5.3.4.1 矩形类String WidthString2=JOptionPane.showInputDialog(The second Rectangles width is:); float Width2 =
11、 Float.parseFloat(WidthString2); String HeightString2=JOptionPane.showInputDialog(The second Rectangles height is:); float Height2 = Float.parseFloat(HeightString2); DecimalFormat df = new DecimalFormat( 0.00 ); double d1 =rectangle2.getwidth(); double d2 = rectangle2.getheight(); double d3 = rectan
12、gle2.getArea(); double d4 = rectangle2.getPerimeter();使用GUI时,控制浮点数的输出位数。5.4. 设计图 5.4.1 矩形类UML设计图5.4.2 时间类UML设计图5.5 仿真结果5.5.1 随机数计算器5.5.2 交税表5.5.3 最小公倍数5.5.4.1矩形类5.5.4.2 时间类5.6 调试心得5.6.1 错误分析 测试矩形类的时候输入浮点数会崩掉,经过调试发现使用GUI读入字符型,转化的时候转化成了整形,而不是浮点型,系统报错。另外输出的时候发现输出的浮点数小数点后有八位,使用了DecimalFormat类控制了小数点的精度。 计算系统时间是出现了输出小时与系统正确时间差8的情况,使用了直接在小时部分加8的方法,但是这种方法不好,但是不知道为什么。5.6.2 心得与收获 经过这次练习,初步掌握了Java语言的使用,也了解了它的特点,这次实验总体算法不难,主要是练习了GUI的使用,运算符的运用,二维数组的存取,类的创建和测试。但是其中还会有些细节问题需要注意,相信随着学习的深入,我们会更加深刻的了解了Java的特色,更熟练的使用。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1