java实验报告.docx
《java实验报告.docx》由会员分享,可在线阅读,更多相关《java实验报告.docx(25页珍藏版)》请在冰点文库上搜索。
![java实验报告.docx](https://file1.bingdoc.com/fileroot1/2023-6/18/c9ebf2df-c941-4ae1-9134-a95b9c49d991/c9ebf2df-c941-4ae1-9134-a95b9c49d9911.gif)
java实验报告
学生学号
0120910680115
实验课成绩
武汉理工大学
学生实验报告书
实验课程名称java程序设计
开课学院计算机科学与技术学院
指导老师姓名付国江
学生姓名何文明
学生专业班级软件工程0901班
2011—2012学年第一学期
实验课程名称:
java程序设计
实验项目名称
JDK安装与配置、简单的程序编写
实验成绩
实验者
何文明
专业班级
软件0901班
组别
同组者
实验日期
年月日
第一部分:
实验分析与设计(可加页)
一、实验内容和目的描述(问题域描述)
实验目的:
熟悉JDK的安装、配置和使用,掌握JavaApplication程序的基本结构。
实验内容:
(1)安装JDK,并练习设置JAVA_HOME、path和classpath环境变量;
(2)编写一个打印出”HelloWorld”的JavaApplication程序,并编译运行;
二、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等)
(一)
1首先下载eclipse,然后安装eclipse(设定安装路径),再下载JDK然后安装(设定安装路径)。
打开eclipse能够正常运行。
2设置path和classpath:
右击我的计算机,点击属性,点击高级系统设置
出现
点击环境变量。
编辑classpath和path
(二)打开eclipse,新建java项目:
java程序设计实验,新建一个包:
com.java,新建类:
HelloWorld,写程序,代码如下:
packagecom.java;
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("Helloworld!
");
}
}
确定没有语法错误,选择runasjavaapplication,出现如下结果:
三、主要实验工具、仪器设备及耗材
计算机、javajdk、eclipse
第二部分:
实验结果分析(可加页)
一、实验结果描述
通过本次对javajdkpath和classpath路径的设置方便程序运行包的查找,
“HelloWorld!
”程序输出想要的结果。
二、实验小结、建议及体会
通过本次对javajdkpath和classpath路径的设置明白了java的一些包都要自己通过动手去设定软件才能找得到需要的包;学会了简单的使用eclipse编程。
实验课程名称:
java程序设计
实验项目名称
Java类型、变量和表达式
实验成绩
实验者
何文明
专业班级
软件0901班
组别
同组者
实验日期
年月日
第一部分:
实验分析与设计(可加页)
一、实验目的和实验内容描述(问题域描述)
实验目的:
熟悉Java的各种类型、掌握java的变量定义及表达式的运算等。
实验内容:
(1)编写一个程序计算长方形的面积和周长。
长方形的宽和高要求从键盘输入。
(2)尝试使用Math类提供的随机数生成方法,产生一个1~100的随机整数并输出。
三、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等)
程序一:
packagecom.java;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
publicclassrectangle{
privatedoublelength=0;
privatedoublewidth=0;
rectangle(){
try{
System.out.println("输入长方形的长:
");
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
Stringstring=br.readLine();
length=Double.parseDouble(string);
System.out.println("输入长方形的宽:
");
BufferedReaderbr2=newBufferedReader(newInputStreamReader(System.in));
string=br.readLine();
width=Double.parseDouble(string);
System.out.println("你输入的长方形长是:
"+length+""+"宽是:
"+width);
area();
girth();
}
catch(Exceptionexception){
exception.printStackTrace();
}
}
voidarea(){
doublearea=length*width;
System.out.println("计算得到的面积是:
"+area);
}
voidgirth(){
doublegirth=(length+width)*2;
System.out.println("计算得到的周长是:
"+girth);
}
publicstaticvoidmain(String[]args){
newrectangle();
}
}
程序二:
packagecom.java;
publicclassMathRandom{
publicstaticvoidmain(String[]args){
intran=(int)(Math.random()*100);
System.out.println(“生成的一个随机数是:
”+ran);
}
}
四、主要实验工具、仪器设备及耗材
计算机、eclipse、javajdk
第二部分:
实验结果分析(可加页)
一、实验结果描述
程序一的运行结果是:
输入长方形的长:
45
输入长方形的宽:
26
你输入的长方形长是:
45.0宽是:
26.0
计算得到的面积是:
1170.0
计算得到的周长是:
142.0
程序二的运行结果是:
生成的一个随机数是:
62
二、实验小结、建议及体会
通过计算长方形的周长和面积,清楚的认识到java类型变量的定义和转换的灵活性,等得使用java定义变量编程;通过使用Math类提供的随机数生成方法,明白其随机数的范围是大于0小于1的随机数,要达到什么范围就要乘以相应的数值,再进行强制转换得到结果。
实验课程名称:
java程序设计
实验项目名称
Java的流程控制
实验成绩
实验者
何文明
专业班级
软件0901班
组别
同组者
实验日期
年月日
第一部分:
实验分析与设计(可加页)
一、实验目的和实验内容描述(问题域描述)
实验目的:
熟练掌握java的各种流程控制
实验内容:
(1)编写一个程序实现将任意一个大于6的偶数表示成两个素数之
和。
(2)编写一个程序实现输出任意四个数的中位数。
例如:
四个数3、4、5、6的中位数为4.5,10、20、35、36的
中位数27.5.
五、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等)
程序一:
packagecom.java;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
publicclassEvenToPrime{
privateinteven=0;
privateintprime1=0;
privateintprime2=0;
EvenToPrime(){
inPut();
cut();
outPut();
}
voidinPut(){
try{
System.out.println("输入要转换为素数之和的偶数(大于6):
");
BufferedReaderbr=new;
BufferedReader(newInputStreamReader(System.in));
Stringstring=br.readLine();
inti=Integer.parseInt(string);
if((i%2)!
=0||i<=6){
System.out.println("你输入的数不是偶数或者小于等于6,请确认。
");
return;
}
else{
even=i;
}
}
catch(Exceptionexception){
}
}
voidoutPut(){
System.out.println("你输入的偶数是:
"+even);
System.out.println("转换后的结果是:
"+even+"="+prime1+"+"+prime2);
}
intMathRandomPrime(){
inti=0;
if(even<=100){
while(!
isPrime(i))
i=(int)(Math.random()*10);
}
if(even<=1000){
while(!
isPrime(i))
i=(int)(Math.random()*100);
}
else{
while(!
isPrime(i))
i=(int)(Math.random()*10);
}
prime1=i;
returnprime1;
}
voidcut(){
while(!
isPrime(prime2)){
prime2=even-MathRandomPrime();
}
}
booleanisPrime(intn){
if(n<2)
returnfalse;
if(n==2)returntrue;
for(inti=2;i<=Math.sqrt(n);i++){
if(n%i==0)
returnfalse;}
returntrue;
}
publicstaticvoidmain(String[]args){
newEvenToPrime();
}
}
程序二:
packagecom.java;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
publicclassOutPutMedian{
privatefinalintN=4;
privatedoublenumber[]=newdouble[N];
privatedoublemedian;
OutPutMedian(){
inPutNumber();
sortNumber();
findMedian();
outPutMedian();
}
voidinPutNumber(){
try{
System.out.println("任意输入四个数(包含整数、小数):
");
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
Stringstring=br.readLine();
String[]str=string.split("\\s");
for(inti=0;inumber[i]=Double.parseDouble(str[i]);
}
catch(Exceptione){
e.printStackTrace();
}
}
voidsortNumber(){
for(inti=0;ifor(intj=0;jif(number[j]>number[j+1]){
doublemid=number[j];
number[j]=number[j+1];
number[j+1]=mid;
}
}
}
}
voidfindMedian(){
median=(number[1]+number[2])/2;
}
voidoutPutMedian(){
System.out.println("你输入的四个数排序后是:
");
for(inti=0;iSystem.out.print(number[i]+"");
System.out.println();
System.out.println("找到它们的中位数是:
"+""+median);
}
publicstaticvoidmain(String[]args){
//XIN_TODOAuto-generatedmethodstub
newOutPutMedian();
}
}
六、主要实验工具、仪器设备及耗材
计算机、eclipse、javajdk
第二部分:
实验结果分析(可加页)
三、实验结果描述
实验一的运行结果是:
输入要转换为素数之和的偶数(大于6):
55
你输入的数不是偶数或者小于等于6,请确认。
再运行一次:
输入要转换为素数之和的偶数(大于6):
46
你输入的偶数是:
46
转换后的结果是:
46=5+41
实验二的运行结果是:
任意输入四个数(包含整数、小数):
465664789
你输入的四个数排序后是:
6.064.0465.0789.0
找到它们的中位数是:
264.5
四、实验小结、建议及体会
通过本次试验熟练的掌握了java的各种流程控制。
在编写输出中位数时,使自己更懂得了数据流的读取与运用。
这次试验,让我进一步学习java。
实验课程名称:
java程序设计
实验项目名称
Java的数组
实验成绩
实验者
何文明
专业班级
软件0901班
组别
同组者
实验日期
年月日
第一部分:
实验分析与设计(可加页)
一、实验目的和实验内容描述(问题域描述)
实验目的:
熟练掌握java的一维、多维数组的使用。
实验内容:
(1)编写一个程序,生成一个10*10的二维随机整数数组,并将该数组的每行最大值保存于一个一维数组中,将每列平均值保存于另外一个一维数组中并分别输出。
(2)编程输出杨辉三角的前10行。
(3)找出一个二维数组的鞍点,即该位置上的元素在该行上最大,在该列上最小(注:
一个二维数组也可能没有这样的鞍点)。
二、实验设计(包括实验方案设计,实验手段的确定,实验步骤,实验过程等)
程序一:
packagecom.java;
publicclassTwoRandomArray{
privatefinalintN=10;
privateint[][]array=newint[N][N];
privateint[]maxRowNumber=newint[N];
privateint[]averageRowNumber=newint[N];
TwoRandomArray(){
NewRandomArray();
findMaxRowNumber();
findAverageRowNumber();
outPutData();
}
voidNewRandomArray(){
for(inti=0;ifor(intj=0;jarray[i][j]=(int)(Math.random()*1000);
}
}
voidfindMaxRowNumber(){
for(inti=0;ifor(intj=0;jif(array[i][j]>maxRowNumber[i]){
maxRowNumber[i]=array[i][j];
}
}
}
}
voidfindAverageRowNumber(){
intsum=0;
for(intj=0;jsum=0;
for(inti=0;isum+=array[i][j];
}
averageRowNumber[j]=sum/N;
}
}
voidoutPutData(){
System.out.println("产生的随机二维数组是:
");
for(inti=0;ifor(intj=0;jSystem.out.print(array[i][j]+"");
}
System.out.println();
}
System.out.println("每行的最大值为是:
");
for(inti=0;iSystem.out.print(maxRowNumber[i]+"");
System.out.println();
System.out.println("每列的平均值是:
");
for(inti=0;iSystem.out.print(averageRowNumber[i]+"");
System.out.println();
}
publicstaticvoidmain(String[]args){
//XIN_TODOAuto-generatedmethodstub
newTwoRandomArray();
}
}
程序二:
packagecom.java;
publicclassPrintPascalTriangle{
privatefinalintN=10;
privateint[][]arr=newint[N][N];
PrintPascalTriangle(){
newPascalTriangle();
printPascalTriangle();
}
voidnewPascalTriangle(){
for(inti=0;iintj=i;
for(intk=0;k<=j;k++){
if(k==0){
arr[j][k]=1;
}
elseif(k==j){
arr[j][k]=1;
}
else{
arr[j][k]=arr[j-1][k-1]+arr[j-1][k];
}
}
}
}
voidprintPascalTriangle(){
for(inti=0;ifor(intj=0;jSystem.out.print(arr[i][j]+"");
}
System.out.println();
}
}
publicstaticvoidmain(String[]args){
//XIN_TODOAuto-generatedmethodstub
newPrintPascalTriangle();
}
}
程序三:
packagecom.java;
publicclassTwoArraySaddlePoint{
privatefinalintN=10;
privateint[][]array=newint[N][N];
privateintsaddlePoint=0;
TwoArraySaddlePoint(){
NewRandomArray();
findSaddlePoint();
printData();
}
voidNewRandomArray(){
for(inti=0;ifor(intj=0;jarray[i][j]=(int)(Math.random()*100);
}
}
voidfindSaddlePoint(){
intm=0;
for(inti=0;ifor(intj=0;jif(array[i][j]>saddlePoint){
saddlePoint=array[i][j];
m=j;
}
}
for(intk=0;kif(saddlePoint>array[k][m]){
saddlePoint=0;
break;
}
}
}
}
voidprintData(){
System.out.println("随机生成的二维数组是:
");
for(inti=0;ifor(intj=0;jSystem.out.print(array[i][j]+"");
System.out.println();
}
if(saddlePoint==0){
System.out.println("生成的随机数组没有鞍点。
");
}
else
System.out.println("生成的随机数组的鞍点是:
"+""+saddlePoint);
}
publicstaticvoidmain(String[]args){
//XIN_TODOAuto-generatedmethodstub
newTwoArraySaddlePoint();
}