资源描述
精选优质文档-倾情为你奉上实验报告(计算机与信息工程学院实验中心)学期: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程序三 helloworld2该程序是网页的脚本程序,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)caseA:System.out .println(范围在 85100);break;caseB:System.out .println(范围在 7085);break;caseC:System.out .println(范围在 6070);break;caseD:System.out .println(范围在 60 分以下 );break;default:System.out .println(输入有误!);72使用 continue 语句实现:将 100 300之间的不能被3整除的数输出。publicclasssushu publicstaticvoidmain(String args) for( inti=100;i300;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;i1000;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(i1000)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(i0&age=8)price=0;elseif(age22)price=40;elseif(age60)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;iintMatrixA.length;i+)14for(j=0;jintMatrixC0.length;j+)intMatrixCij=0;for(k=0;kintMatrixB.length;k+)intMatrixCij+=intMatrixAik*intMatrixCkj;staticvoidOutputMatrix(intintMatrix)inti,j;for(i=0;iintMatrix.length;i+)for(j=0;jintMatrix0.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;i5;i+)for(j=0;jaj+1)inttemp=aj;aj=aj+1;aj+1=temp;15for(i=0;i6;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;ja.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;i8;i+)ai=reader.nextInt();intmax=a0,min=a0;for(i=1;imax)max=ai;k=i;if(aimin)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=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位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。211、importjava.io.*;publicclasskongzhitai publicstaticintmb_getInt(BufferedReader f)t ryString s=f.readLine();inti=Integer.parseInt(s);returni;c atch(Exception e)return-1;publicstaticvoidmain(String args) tryBufferedReader f=new BufferedReader(newInputStreamReader(System.in );System.out .print(请输入第一个整数:);inti=mb_getInt(f);System.out .print(请输入第二个整数:);intj=mb_getInt(f);System.out .print(计算结果: +i+j+=+(i+j);catch(Exception e)System.out .println(发生异常!);e.getStackTrace();222、importjava.io.*;publicclassstudentgrade publicstaticdoublemb_getIn(BufferedReader f)tryString s=f.readLine();doublei=Double.parseDouble(s);returni;catch(Exception e)return-1;publicstaticdoubleavg()trydoublesum=0;BufferedReader f1=new BufferedReader(newFileReader(D:data.txt);for(String s=f1.readLine();s!=null;s=f1.readLine()doubleb=Double.parseDouble(s);sum+=b;returnsum/5;catch(IOException e)return-1;publicstaticvoidmain(String args) doublea=newdouble5;inti,j;try23BufferedReader f=new BufferedReader(newInputStreamReader(System.in );PrintWriter bw=new PrintWriter(D:data.txt);for(i=0;i5;i+)System.out .print(请输入第 +(i+1)+个学生的成绩:);ai=mb_getIn(f);bw.println(String.valueOf(ai);bw.close();System.out .println(平均成绩为:+studentgrade.avg ();System.out .println(从小到大排序的5 名学生成绩为:);for(i=0;i4;i+)for(j=0;jaj+1)doubletemp=aj;aj=aj+1;aj+1=temp;for(i=0;i5)System.out.println(输入超限! );elseSystem.out.println(它是 +a.length()+位数 );char stringArr = a.toCharArray();for( inti=a.length()-1;i=0;i-)System.out .print(stringArri+ );catch(Exception e)System.out .println(输入有误! );e.getStackTrace();26浙江工商大学计算机与信息工程学院实验报告(7)日期:地点:成绩:实验目的、实验原理和内容:一、实验目的:综合习题及多线程。二、实验原理:使用前面所学知识,综合编程。三、实验内容及要求:综合习题及多线程四、题目1两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和 x比, c说他不和 x,z比,请编程序找出三队赛手的名单。2打印出杨辉三角形(要求打印出10行如下图)111121133114641151010513. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上 5,然后用和除以 10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。附加题: 利用多线程编程编写一个龟兔赛跑程序。乌龟:速度慢,休息时间短;兔子:速度快,休息时间长。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。271、publicclassfendui publicstaticvoidmain(String args) chari,j,k; /*i是 a 的对手, j 是 b 的对手, k 是 c 的对手 */System.out .println(三队参赛手名单如下: );for(i=x;i=z;i+)for(j=x;j=z;j+)if(i!=j)for(k=x;k=z;k+)if(i!=k & j!=k)if(i!=x & k!=x& k!=z)System.out .println( a Vs +i+n b Vs +j+n c Vs+k);
展开阅读全文