java实验报告YDaninelLiang实验二.docx

上传人:b****5 文档编号:4360802 上传时间:2022-11-30 格式:DOCX 页数:12 大小:99.82KB
下载 相关 举报
java实验报告YDaninelLiang实验二.docx_第1页
第1页 / 共12页
java实验报告YDaninelLiang实验二.docx_第2页
第2页 / 共12页
java实验报告YDaninelLiang实验二.docx_第3页
第3页 / 共12页
java实验报告YDaninelLiang实验二.docx_第4页
第4页 / 共12页
java实验报告YDaninelLiang实验二.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

java实验报告YDaninelLiang实验二.docx

《java实验报告YDaninelLiang实验二.docx》由会员分享,可在线阅读,更多相关《java实验报告YDaninelLiang实验二.docx(12页珍藏版)》请在冰豆网上搜索。

java实验报告YDaninelLiang实验二.docx

java实验报告YDaninelLiang实验二

 

2014-2015学年

第一学期实验报告

 

课程名称:

JavaEE平台技术

实验名称:

JAVA编程(基础练习)

 

目录

一、实验目的4

二、实验内容4

2.1编写一个各位随机数计算器。

4

2.2输出收入50000-60000之间的人的交税表。

4

2.3计算两个数的最小公倍数。

4

2.4创建类并测试4

2.4.1创建矩形类并测试。

4

2.4.2创建时间类并测试。

4

三、实验环境4

四、实验结果4

4.1随机数计算器4

4.2交税表4

4.3最小公倍数4

4.4.创建类5

4.4.1创建矩形类5

4.4.2创建时间类5

五、附录5

5.1问题分析5

5.1.1随机数计算器5

5.1.2交税表5

5.1.3最小公倍数5

5.1.4创建类5

5.1.4.1矩形类5

5.1.4.2时间类5

5.2设计方案5

5.2.1随机数计算器5

5.2.2交税表5

5.2.3最小公倍数5

5.2.4创建类5

5.2.4.1矩形类6

5.2.4.2时间类6

5.3算法6

5.3.1随机数计算器6

5.3.2交税表6

5.3.3最小公倍数6

5.3.3.1求质因数6

5.3.3.2求最小公倍数7

5.3.4创建类8

5.3.4.1矩形类8

5.4.设计图8

5.4.1矩形类UML设计图8

5.4.2时间类UML设计图9

5.5仿真结果9

5.5.1随机数计算器9

5.5.2交税表10

5.5.3最小公倍数10

5.5.4.1矩形类11

5.5.4.2时间类12

5.6调试心得12

5.6.1错误分析12

5.6.2心得与收获12

一、实验目的

通过使用JAVA语言进行基本程序的开发,掌握JAVA通用IDE,练习类的封装使用、JAVA基本类库的使用、利用UML进行简单建模。

二、实验内容

2.1编写一个各位随机数计算器。

2.2输出收入50000-60000之间的人的交税表。

2.3计算两个数的最小公倍数。

2.4创建类并测试

2.4.1创建矩形类并测试。

2.4.2创建时间类并测试。

三、实验环境

Eclipse、Win8.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.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矩形类

分别创建无参构造函数和有参构造函数,创建get和set函数,以及计算面积和周长的函数。

5.2.4.2时间类

换算系统时间,由总时间换成时分秒。

5.3算法

5.3.1随机数计算器

intnumber1=(int)(System.currentTimeMillis()%10);

intnumber2=(int)(System.currentTimeMillis()%7);

System.currentTimeMillis()产生一个毫秒数,将其取余得到个位数字。

5.3.2交税表

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

/*single*/

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

System.out.print((4090+(income-29700)*0.25)+"\t\t");

/*MarriedJoint*/

if(income<=59400){

System.out.print((1460+(income-14600)*0.15)+"\t\t");

}else{

System.out.print((8180+(income-59400)*0.25)+"\t\t");

}

/*MarriedFilingSeparately*/

if(income<=59975){

System.out.print((4090+(income-29700)*0.25)+"\t\t");

}else{

System.out.print((11658.75+(income-59975)*0.28)+"\t\t");

}

/*HeadofHousehold*/

System.out.print((5447.5+(income-39800)*0.25)+"\n");

}

5.3.3最小公倍数

5.3.3.1求质因数

publicstaticint[][]getPrimeFactors(intnumber){

int[][]table=newint[10][2];//十行,两列的二位数组存质因数

intfactor=2;//先用2做因数

inttemp=number;

inti=0;//table行数计数器

for(;factor<=number;factor++){

while((temp%factor)==0&&temp!

=0){

table[i][0]=factor;//第一列存因数

temp/=factor;

table[i][1]++;//该因数数量+1

}

if(temp%(factor+1)==0&&temp!

=number)//因数+1

i++;

}

returntable;

}

5.3.3.2求最小公倍数

publicstaticintLCM(inttable1[][],inttable2[][]){

intn=1;

inti=0,j=0;

while(table1[i][0]!

=0&&table2[j][0]!

=0){

if(table1[i][0]==table2[j][0]){

if(table1[i][1]>table2[j][1])

n*=(int)Math.pow(table1[i][0],table1[i][1]);

else

n*=(int)Math.pow(table2[j][0],table2[j][1]);

i++;

j++;

}else{

if(table1[i][0]

n*=(int)Math.pow(table1[i][0],table1[i][1]);

i++;

}else{

n*=(int)Math.pow(table2[j][0],table2[j][1]);

j++;

}

}

}

while(table2[j][0]!

=0){

n*=(int)Math.pow(table2[j][0],table2[j][1]);

j++;

}

while(table1[i][0]!

=0){

n*=(int)Math.pow(table1[i][0],table1[i][1]);

i++;

}

returnn;

}

5.3.4创建类

5.3.4.1矩形类

StringWidthString2=JOptionPane.showInputDialog("ThesecondRectangle'swidthis:

");

floatWidth2=Float.parseFloat(WidthString2);

StringHeightString2=JOptionPane.showInputDialog("ThesecondRectangle'sheightis:

");

floatHeight2=Float.parseFloat(HeightString2);

DecimalFormatdf=newDecimalFormat("0.00");

doubled1=rectangle2.getwidth();

doubled2=rectangle2.getheight();

doubled3=rectangle2.getArea();

doubled4=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