java实验报告完整版(共81页).docx
精选优质文档-倾情为你奉上实验报告(计算机与信息工程学院实验中心)学期:2014-2015课程名称:Java 程序设计实验班级:信息 1202姓名:方逸梅学号:指导老师:费玉莲专心-专注-专业1 Java 程序设计独立实验教学安排一、实验的教学方式、安排及实验环境(一)教学方式对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容, 在教师的指导下, 学生独立完成程序设计及调试工作。 实验十二的内容由学生自行设计完成。(二)教学安排学时数: 30 课时学时安排:每次实验3 学时,从学期第五周开始,共十次上机实验。(三)实验环境实验环境为 JDK 1.6。(四)具体安排地点:信息大楼实验室。辅导:每个班次一名辅导老师,原则上由任课老师担任。登记:实验完成,由辅导老师登记实验纪录。学生:实验做完,完成实验报告内容,并在学期末上交实验册。老师:批改实验,成绩与平时成绩一起占期末的30%。二、实验的具体内容和要求见实验报告。2浙江工商大学计算机与信息工程学院实验报告(1)日期:地点:成绩:实验目的、实验原理和内容:一、实验目的:熟悉 Java 开发环境及简单程序Java 设计。二、实验原理:SDK的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译 Java 源程序,运行 Java 程序。三、实验内容及要求:1 下载、安装并设置Java SDK 软件包。2 熟悉 Eclipse编辑软件。3掌握运行 Java 程序的步骤。4 分别编写Application 和 Applet 程序,显示字符串”Hello Java! 欢迎使用!”。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。程序一publicclasshello publicstaticvoidmain(String args) for( inti=0;i<=4;i+)System.out .println("Hello java!欢迎使用 !");结果示意图 13存在的问题1、 JAVA 存在大小写,因为system 没有区分大小写所以出现编译错误。2、用 DOS 进入 java 源程序时,先要用cd 转入 java 源程序所在路径。程序二importjava.awt.Graphics;importjava.applet.Applet;publicclasshelloworldextendsAppletpublicvoidpaint(Graphics g)g.drawString("Hello java!欢迎使用 !",25,25);方法 1直接将程序二打入到java应用程序中,可调出如下图界面结果示意图 24程序三<HTML><HEAD><TILLE> helloworld2</TILLE>></HEAD><BODY><applet code=helloworld width="300" height="200"></applet></BODY></HTML>该程序是网页的脚本程序,html 文件类型,可直接双击打开。5浙江工商大学计算机与信息工程学院实验报告(2)日期:地点:成绩:实验目的、实验原理和内容:一、实验目的:Java 结构化程序设计。二、实验原理: 声明不同数据类型的变量,使用关系运算符和逻辑运算符,使用表达式语句与复合语句,使用选择语句,使用循环语句。三、实验内容及要求:1编程输入学生的学习成绩的等级,给出相应的成绩范围。设A级为 85分以上(包括 85);B级为 70分以上(包括 70分);C级为 60分以上(包括 60分);D级为 60分以下。分别使用if 语句和 switch 语句实现。2使用 continue 语句实现:将 100 300之间的不能被3整除的数输出。3使用 break 语句实现记数:从1 100,当数到 78时程序终止。4、分别使用while 、 do-while和 for语句编程,找出所有的水仙花数并输出。水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:371=33+73+13,371 就是一个水仙花数。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。1.编程输入学生的学习成绩的等级,给出相应的成绩范围。设 A级为 85分以上(包括 85分);B级为 70分以上(包括 70分);C级为 60分以上(包括 60分); D级为 60分以下。分别使用 if 语句和 switch 语句实现。IF 语句importjava.util.*;publicclassdengji publicstaticvoidmain(String args)System.out .println("请输入等级 :");Scanner sc=new Scanner(System.in );String grade=sc.next();if (grade.equals("A")System.out .println("范围在 85,100)");elseif(grade.equals("B")System.out .println("范围在 70,85)");elseif(grade.equals("C")System.out .println("范围在 60,70)");elseif(grade.equals("D")6System.out .println("范围在 0,60)");elseSystem.out .println("输入有误!");Switch 语句publicclasstestpublicstaticvoidmain(String args)chargrade=' 'System.out .println("请输入等级 :");trygrade =(char)System.in .read(); catch(Exception e)switch(grade)case'A':System.out .println("范围在 85100");break;case'B':System.out .println("范围在 7085");break;case'C':System.out .println("范围在 6070");break;case'D':System.out .println("范围在 60 分以下 ");break;default:System.out .println("输入有误!");72使用 continue 语句实现:将 100 300之间的不能被3整除的数输出。publicclasssushu publicstaticvoidmain(String args) for( inti=100;i<300;i+)if(i%3=0)continue;System.out .println(i);3使用 break 语句实现记数:从1 100,当数到 78时程序终止。publicclassstop publicstaticvoidmain(String args) for( inti=1;i<=100;i+)System.out .println(i);if(i=78)break;4、分别使用 while 、do-while 和 for 语句编程,找出所有的水仙花数并输出。水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:371=33+73+13, 371就是一个水仙花数。For 语句publicclassnum1 publicstaticvoidmain(String args) intx,y,z,i,sum;for(i=100;i<1000;i+)z=i%100%10;8y=i/10;y=y%10;x=i/100;sum=x*x*x+y*y*y+z*z*z;if(sum=i)System.out .println(sum+"是水仙花数 ");While 语句publicclassnum1 publicstaticvoidmain(String args) intx,y,z,i=100,sum;while(i<1000)z=i%100%10;y=i/10;y=y%10;x=i/100;sum=x*x*x+y*y*y+z*z*z;if(sum=i)System.out .println(sum+"是水仙花数 ");i+;Do-while语句publicclassnum1 publicstaticvoidmain(String args) intx,y,z,i=100,sum;do z=i%100%10;y=i/10;y=y%10;x=i/100;sum=x*x*x+y*y*y+z*z*z;if(sum=i)System.out .println(sum+"是水仙花数 ");i+; while(i<1000);9浙江工商大学计算机与信息工程学院实验报告(3)日期:地点:成绩:实验目的、实验原理和内容:一、实验目的:面向对象程序设计设计(一)二、实验原理: 创建 Applet 应用小程序,创建对象并使用对象,编写显示当前日期和时间的程序,使用修饰符,方法中参数传递的练习,类的继承性练习,类的多态性。三、实验内容及要求:1、 一个景区根据游人的年龄收取不同价格的门票。请编写游人类,该类包含两个成员域:年龄和票价;两个方法:设置年龄和根据年龄段决定能够购买的门票价格并输出。然后写出该类实例测试该类(类的基本实现)2. ( 1)编写一个圆类Circle,该类拥有:一个成员变量Radius (私有,浮点型) ; /存放圆的半径;两个构造方法Circle( )/将半径设为0Circle(double r )/创建 Circle对象时将半径初始化为r 三个成员方法double getArea( )/获取圆的面积double getPerimeter( )/获取圆的周长void show( )/将圆的半径、周长、面积输出到屏幕( 2)编写一个圆柱体类 Cylinder ,它继承于上面的 Circle 类。还拥有:一个成员变量double hight(私有,浮点型) ; /圆柱体的高;构造方法Cylinder (double r, double h )/创建 Circle对象时将半径初始化为 r 成员方法double getVolume( )/获取圆柱体的体积void showVolume( )/将圆柱体的体积输出到屏幕编写应用程序, 创建类的对象, 分别设置圆的半径、圆柱体的高, 计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。10要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。1、importjava.util.*;publicclassvisitor intage;intprice;publicvoidsetage(intage)this.age=age;publicvoidticket()if(age>0&&age<=8)price=0;elseif(age<22)price=40;elseif(age<60)price=80;elseprice=20;System.out .println("门票价格 "+price);publicstaticvoidmain(String args) Scanner sc=new Scanner(System.in );System.out .println("请输入年龄:");visitor youren=newvisitor();youren.setage(sc.nextInt();youren.ticket();112、publicclasscircle doubleradius;circle()radius=0.0;circle(doubler)radius=r;publicdoublegetarea()returnMath.PI *radius*radius;publicdoublegetperimeter()return2*Math.PI *radius;voidshow()System.out .println("圆的半径: "+radius);System.out .println("圆的周长: "+getperimeter();System.out .println("圆的面积: "+getarea();publicclasscylinderextendscircledoubleheight;cylinder(doubler,doubleh)super(r);height=h;doublegetvolume()returnheight*getarea();voidshowvolume()System.out .println("圆柱体的体积:"+getvolume();12publicclasstest1 publicstaticvoidmain(String args) circle ci=new circle(10.0);ci.show();cylinder cy=new cylinder(3.0,4.0);cy.show();cy.showvolume();13浙江工商大学计算机与信息工程学院实验报告(4)日期:2014.11.5地点:信息楼 227成绩:实验目的、实验原理和内容:一、实验目的:数组、字符串与异常处理。二、实验原理:使用数组,使用字符串与字符串类,处理异常。三、实验内容及要求:1、编写一程序,计算矩阵 A=7,9,4,5,6,8与矩阵 B=9,5,2,8,5,9,7,2,4,7,5,8相乘,把结果存入矩阵C, 并在屏幕输出结果。2、使用冒泡排序(数组,数字为:63, 4, 24,1, 3, 5)3、编写程序,测试字符串“你好,欢迎来到 Java 世界”的长度,将字符串的长度转换成字符串进行输出,并对其中的“ Java”四个字母进行截取,输出截取字母以及它在字符串中的位置。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。1、publicclassjuzhenpublicstaticvoidmain(String args)intintMatrixA=7,9,4,5,6,8;intintMatrixB=9,5,2,8,5,9,7,2,4,7,5,8;intintMatrixC=newint24;Multiply(intMatrixA,intMatrixB,intMatrixC);System.out .println("n*MatrixA*");OutputMatrix(intMatrixA);System.out .println("n*MatrixB*");OutputMatrix(intMatrixB);System.out .println("n*MatrixC*");OutputMatrix(intMatrixC);staticvoidMultiply(intintMatrixA,intintMatrixB,intintMatrixC)inti,j,k;for(i=0;i<intMatrixA.length;i+)14for(j=0;j<intMatrixC0.length;j+)intMatrixCij=0;for(k=0;k<intMatrixB.length;k+)intMatrixCij+=intMatrixAik*intMatrixCkj;staticvoidOutputMatrix(intintMatrix)inti,j;for(i=0;i<intMatrix.length;i+)for(j=0;j<intMatrix0.length;j+)System.out .print(intMatrixij+" ");System.out .println();2、publicclassmaopao publicstaticvoidmain(String args) inta=63,4,24,1,3,5;inti,j;for(i=0;i<5;i+)for(j=0;j<5-i;j+)if(aj>aj+1)inttemp=aj;aj=aj+1;aj+1=temp;15for(i=0;i<6;i+)System.out .print(ai+" ");3、publicclassjiequ publicstaticvoidmain(String args) String a=new String("你好,欢迎来到Java 世界 ");inti=a.length();intj;char c=a.toCharArray();System.out .println(String.valueOf(i);for(j=0;j<a.length();j+)if(cj='J')System.out .println("J所在位置为:"+(j+1);break;/String d=a.substring(j,j+4);System.out .println("截取的字符串为:"+a.substring(j,j+4);16浙江工商大学计算机与信息工程学院实验报告(5)日期:地点:成绩:实验目的、实验原理和内容:一、实验目的:文件与数据流。二、实验原理: 使用标准输入输出流,使用字符输入输出流,使用随机文件类,文件的读写操作。三、实验内容及要求:1、输入 8 个整数的数组, 最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。2、创建一个文本文件memo.txt ,编写程序实现打开该文本文件,每次读取一行内容,将每行作为一个字符串读入,并将字符串输出显示到屏幕上。附加题:1、古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死, 问每个月的兔子总数为多少?2、将一个正整数分解质因数。例如:输入90,打印出 90=2*3*3*5 。3、输入两个正整数 m 和 n,求其最大公约数和最小公倍数。4、 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。5、求s=a+aa+aaa+aaaa+aa.a的值,其中a 是一个数字 。 例如2+22+222+2222+22222(此时共有 5 个数相加 ),几个数相加有键盘控制。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。171、importjava.util.Scanner;publicclassswap publicstaticvoidmain(String args) inti,m,n,k=0,j=0;inta=newint8;System.out .println("请输入 8 个数字 ");Scanner reader=new Scanner(System.in );for(i=0;i<8;i+)ai=reader.nextInt();intmax=a0,min=a0;for(i=1;i<8;i+)if(ai>max)max=ai;k=i;if(ai<min)min=ai;j=i;m=ak;ak=a0;a0=m;if(ak!=min)n=aj;aj=a7;a7=n;elsen=ak;ak=a7;ak=n;System.out .print("交换后的数:");for(i=0;i<8;i+)System.out .print(ai+",");182、importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.BufferedReader;importjava.io.IOException;publicclassfile publicstaticvoidmain(String args)throwsIOException File filePath =new File("D:memo.txt");String str ;tryBufferedReader br =new BufferedReader(newFileReader(filePath);while(str = br.readLine() !=null)System.out .println(str);catch(FileNotFoundException e)e.printStackTrace();193.importjava.util.Scanner;publicclassrabbit publicstaticvoidmain(String args) System.out .println("请输入 n");Scanner reader=new Scanner(System.in );intn=reader.nextInt();if(n=1)System.out .println("第 1 个月兔子的对数 : 1");if(n=2)System.out .println("第 1 个月兔子的对数 : 1");System.out .println("第 2 个月兔子的对数 : 1");intf1=1,f2=2,f,m=24;if(n>=3)System.out .println("第 1 个月兔子的对数 : 1");System.out .println("第 2 个月兔子的对数 : 1");for( inti=3;i<=n;i+) f=f2; f2=f1+f2; f1=f;System.out .println("第 "+i+"个月的兔子对数:"+f2);20浙江工商大学计算机与信息工程学院实验报告(6)日期:地点:成绩:实验目的、实验原理和内容:一、实验目的:文件与数据流。二、实验原理: 使用标准输入输出流,使用字符输入输出流,使用随机文件类,文件的读写操作。三、实验内容及要求:1.使用标准输入输出流2.使用字符输入输出流3.使用随机文件类4.文件的读写操作完成实验教材实践题。四、题目1.编写一个程序。 在控制台中窗口中提示输入两个整数,然后接收这两个整数,并输出它们的和。下面是运行过程的示例:请输入第一个整数: 45请输入第二个整数: 23计算结果: 45+23=682. 编写一个程序。要求输入 5个学生的成绩(从 0到 100的整数),并将这 5个数保存到文件“ data.txt”中。然后再编写一个程序,从文件“data.txt”中读取这 5个学生的成绩,计算并输出它们的平均数,然后再按从小到大的顺序输出这5个学生的成绩。3.编写一个程序。修改在上一题生成的文件“data.txt”中的文件内容,使得第三个学生的成绩变成为这5个学生的平均成绩,并在控制台窗口中输出在修改以后的文件内容。4输入一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。