《java实验报告完整版.pdf》由会员分享,可在线阅读,更多相关《java实验报告完整版.pdf(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 实 验 报 告(计算机与信息工程学院实验中心)学 期:2014-2015 课程名称:Java 程序设计实验 班 级:信息 1202 姓 名:方逸梅 学 号:1212100231 指导老师:费玉莲 Java 程序设计 独立实验教学安排 一、实验的教学方式、安排及实验环境(一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的容由学生自行设计完成。(二)教学安排 学时数:30 课时 学时安排:每次实验 3 学时,从学期第五周开始,共十次上机实验。(三)实验环境 实验环境为 JDK 1.6。(四)具体安排
2、 地点:信息大楼实验室。辅导:每个班次一名辅导老师,原则上由任课老师担任。登记:实验完成,由辅导老师登记实验纪录。学生:实验做完,完成实验报告容,并在学期末上交实验册。老师:批改实验,成绩与平时成绩一起占期末的 30%。二、实验的具体容和要求 见实验报告。工 商 大 学 计 算 机 与 信 息 工 程 学 院 实 验 报 告(1)日期:地点:成绩:实验目的、实验原理和容:一、实验目的:熟悉 Java 开发环境及简单程序 Java 设计。二、实验原理:SDK 的下载与安装,设置环境变量,安装 java 虚拟机,使用 Eclipse,编译 Java 源程序,运行 Java 程序。三、实验容及要求:
3、1 下载、安装并设置Java SDK 软件包。2 熟悉Eclipse 编辑软件。3掌握运行Java 程序的步骤。4 分别编写 Application 和 Applet 程序,显示字符串”Hello Java!欢迎使用!”。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。程序一 public class hello public static void main(String args)for(int i=0;i=4;i+)System.out.println(Hello java!欢迎使用!);结果示意图1 存在的问题 1、JAVA 存在大小写,因为
4、system 没有区分大小写所以出现编译错误。2、用 DOS 进入 java 源程序时,先要用 cd 转入 java 源程序所在路径。程序二 import java.awt.Graphics;import java.applet.Applet;public class helloworld extends Applet public void paint(Graphics g)g.drawString(Hello java!欢迎使用!,25,25);方法 1 直接将程序二打入到 java 应用程序中,可调出如下图界面 结果示意图 2 程序三 helloworld2 该程序是网页的脚本程序,ht
5、ml 文件类型,可直接双击打开。工 商 大 学 计 算 机 与 信 息 工 程 学 院 实 验 报 告(2)日期:地点:成绩:实验目的、实验原理和容:一、实验目的:Java 结构化程序设计。二、实验原理:声明不同数据类型的变量,使用关系运算符和逻辑运算符,使用表达式语句与复合语句,使用选择语句,使用循环语句。三、实验容及要求:1编程输入学生的学习成绩的等级,给出相应的成绩围。设A级为85分以上(包括85);B级为70分以上(包括70分);C级为60分以上(包括60分);D级为60分以下。分别使用if语句和switch语句实现。2使用continue语句实现:将100300之间的不能被3整除的数
6、输出。3使用break语句实现记数:从1100,当数到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 语句 import
7、 java.util.*;public class dengji public static void main(String args)System.out.println(请输入等级:);Scanner sc=new Scanner(System.in);String grade=sc.next();if(grade.equals(A)System.out.println(围在85,100);else if(grade.equals(B)System.out.println(围在70,85);else if(grade.equals(C)System.out.println(围在60,70
8、);else if(grade.equals(D)System.out.println(围在0,60);else System.out.println(输入有误!);Switch 语句 public class test public static void main(String args)char grade=;System.out.println(请输入等级:);try grade=(char)System.in.read();catch(Exception e)switch(grade)case A:System.out.println(围在85100);break;case B:Sy
9、stem.out.println(围在7085);break;case C:System.out.println(围在6070);break;case D:System.out.println(围在60分以下);break;default:System.out.println(输入有误!);2使用continue语句实现:将100300之间的不能被3整除的数输出。public class sushu public static void main(String args)for(int i=100;i300;i+)if(i%3=0)continue;System.out.println(i);
10、3使用break语句实现记数:从1100,当数到78时程序终止。public class stop public static void main(String args)for(int i=1;i=100;i+)System.out.println(i);if(i=78)break;4、分别使用while、do-while和for语句编程,找出所有的水仙花数并输出。水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:371=33+73+13,371就是一个水仙花数。For语句 public class num1 public static void main(String arg
11、s)int x,y,z,i,sum;for(i=100;i1000;i+)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+是水仙花数);While语句 public class num1 public static void main(String args)int x,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.
12、println(sum+是水仙花数);i+;Do-while语句 public class num1 public static void main(String args)int x,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;else if(age22)price=40;else if(age60)price=80;else price=20;System.out
13、.println(门票价格+price);public static void main(String args)Scanner sc=new Scanner(System.in);System.out.println(请输入年龄:);visitor youren=new visitor();youren.setage(sc.nextInt();youren.ticket();2、public class circle double radius;circle()radius=0.0;circle(double r)radius=r;public double getarea()return
14、Math.PI*radius*radius;public double getperimeter()return 2*Math.PI*radius;void show()System.out.println(圆的半径:+radius);System.out.println(圆的周长:+getperimeter();System.out.println(圆的面积:+getarea();public class cylinder extends circle double height;cylinder(double r,double h)super(r);height=h;double getv
15、olume()return height*getarea();void showvolume()System.out.println(圆柱体的体积:+getvolume();public class test1 public static void main(String args)circle ci=new circle(10.0);ci.show();cylinder cy=new cylinder(3.0,4.0);cy.show();cy.showvolume();工 商 大 学 计 算 机 与 信 息 工 程 学 院 实 验 报 告(4)日期:2014.11.5 地点:信息楼 227
16、 成绩:实验目的、实验原理和容:一、实验目的:数组、字符串与异常处理。二、实验原理:使用数组,使用字符串与字符串类,处理异常。三、实验容及要求: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”四个字母进行截取,输出截取字母以及它在字符串中的位置。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(
17、不够可以附页)。1、public class juzhen public static void main(String args)int intMatrixA=7,9,4,5,6,8;int intMatrixB=9,5,2,8,5,9,7,2,4,7,5,8;int intMatrixC=new int24;Multiply(intMatrixA,intMatrixB,intMatrixC);System.out.println(n*MatrixA*);OutputMatrix(intMatrixA);System.out.println(n*MatrixB*);OutputMatrix(
18、intMatrixB);System.out.println(n*MatrixC*);OutputMatrix(intMatrixC);static void Multiply(int intMatrixA,int intMatrixB,int intMatrixC)int i,j,k;for(i=0;iintMatrixA.length;i+)for(j=0;jintMatrixC0.length;j+)intMatrixCij=0;for(k=0;kintMatrixB.length;k+)intMatrixCij+=intMatrixAik*intMatrixCkj;static voi
19、d OutputMatrix(int intMatrix)int i,j;for(i=0;iintMatrix.length;i+)for(j=0;jintMatrix0.length;j+)System.out.print(intMatrixij+);System.out.println();2、public class maopao public static void main(String args)int a=63,4,24,1,3,5;int i,j;for(i=0;i5;i+)for(j=0;jaj+1)int temp=aj;aj=aj+1;aj+1=temp;for(i=0;
20、i6;i+)System.out.print(ai+);3、public class jiequ public static void main(String args)String a=new String(你好,欢迎来到Java世界);int i=a.length();int j;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
21、);System.out.println(截取的字符串为:+a.substring(j,j+4);工 商 大 学 计 算 机 与 信 息 工 程 学 院 实 验 报 告(5)日期:地点:成绩:实验目的、实验原理和容:一、实验目的:文件与数据流。二、实验原理:使用标准输入输出流,使用字符输入输出流,使用随机文件类,文件的读写操作。三、实验容及要求:1、输入 8 个整数的数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。2、创建一个文本文件 memo.txt,编写程序实现打开该文本文件,每次读取一行容,将每行作为一个字符串读入,并将字符串输出显示到屏幕上。附加题:1、古典问题:有一
22、对兔子,从出生后第 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 个数相加),几个数相加有键盘控制。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。1
23、、import java.util.Scanner;public class swap public static void main(String args)int i,m,n,k=0,j=0;int a=new int8;System.out.println(请输入8个数字);Scanner reader=new Scanner(System.in);for(i=0;i8;i+)ai=reader.nextInt();int max=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!=mi
24、n)n=aj;aj=a7;a7=n;else n=ak;ak=a7;ak=n;System.out.print(交换后的数:);for(i=0;i=3)System.out.println(第1个月兔子的对数:1);System.out.println(第2个月兔子的对数:1);for(int i=3;i=n;i+)f=f2;f2=f1+f2;f1=f;System.out.println(第+i+个月的兔子对数:+f2);工 商 大 学 计 算 机 与 信 息 工 程 学 院 实 验 报 告(6)日期:地点:成绩:实验目的、实验原理和容:一、实验目的:文件与数据流。二、实验原理:使用标准输入
25、输出流,使用字符输入输出流,使用随机文件类,文件的读写操作。三、实验容及要求:1.使用标准输入输出流 2.使用字符输入输出流 3.使用随机文件类 4.文件的读写操作 完成实验教材实践题。四、题目 1.编写一个程序。在控制台中窗口中提示输入两个整数,然后接收这两个整数,并输出它们的和。下面是运行过程的示例:请输入第一个整数:45 请输入第二个整数:23 计算结果:45+23=68 2.编写一个程序。要求输入5个学生的成绩(从0到100的整数),并将这5个数保存到文件“data.txt”中。然后再编写一个程序,从文件“data.txt”中读取这5个学生的成绩,计算并输出它们的平均数,然后再按从小到
26、大的顺序输出这5个学生的成绩。3.编写一个程序。修改在上一题生成的文件“data.txt”中的文件容,使得第三个学生的成绩变成为这5个学生的平均成绩,并在控制台窗口中输出在修改以后的文件容。4输入一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。1、import java.io.*;public class kongzhitai public static int mb_getInt(BufferedReader f)try String s=f.readLine();int i=I
27、nteger.parseInt(s);return i;catch(Exception e)return-1;public static void main(String args)try BufferedReader f=new BufferedReader(new InputStreamReader(System.in);System.out.print(请输入第一个整数:);int i=mb_getInt(f);System.out.print(请输入第二个整数:);int j=mb_getInt(f);System.out.print(计算结果:+i+j+=+(i+j);catch(E
28、xception e)System.out.println(发生异常!);e.getStackTrace();2、import java.io.*;public class studentgrade public static double mb_getIn(BufferedReader f)try String s=f.readLine();double i=Double.parseDouble(s);return i;catch(Exception e)return-1;public static double avg()try double sum=0;BufferedReader f1
29、=new BufferedReader(new FileReader(D:data.txt);for(String s=f1.readLine();s!=null;s=f1.readLine()double b=Double.parseDouble(s);sum+=b;return sum/5;catch(IOException e)return-1;public static void main(String args)double a=new double5;int i,j;try BufferedReader f=new BufferedReader(new InputStreamRea
30、der(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)double temp=aj;aj=aj+1;aj+
31、1=temp;for(i=0;i5)System.out.println(输入超限!);else System.out.println(它是+a.length()+位数);char stringArr=a.toCharArray();for(int i=a.length()-1;i=0;i-)System.out.print(stringArri+);catch(Exception e)System.out.println(输入有误!);e.getStackTrace();工 商 大 学 计 算 机 与 信 息 工 程 学 院 实 验 报 告(7)日期:地点:成绩:实验目的、实验原理和容:一、
32、实验目的:综合习题及多线程。二、实验原理:使用前面所学知识,综合编程。三、实验容及要求:综合习题及多线程 四、题目 1两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛。有人向队员打听比赛的。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的。2打印出辉三角形(要求打印出10行如下图)1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 3.某个公司采用公用传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换
33、。附加题:利用多线程编程编写一个龟兔赛跑程序。乌龟:速度慢,休息时间短;兔子:速度快,休息时间长。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。1、public class fendui public static void main(String args)char i,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)
34、System.out.println(a Vs +i+n b Vs +j+n c Vs +k);2、import java.util.Scanner;public class yy public static void main(String args)int i,j,k,m;System.out.println(请输入行数:);Scanner s=new Scanner(System.in);int n=s.nextInt();int a=new intnn;for(i=0;in;i+)ai0=1;aii=1;for(i=2;in;i+)for(j=1;j=i;j+)aij=ai-1j-1+
35、ai-1j;m=n;for(i=0;in;i+)m-;for(k=0;km;k+)System.out.print();for(j=0;j=i;j+)System.out.print(aij+);System.out.println();3、import java.util.*;public class jiami public static void main(String args)int i;int a=new int4;Scanner s=new Scanner(System.in);System.out.println(加密前的数);int n=s.nextInt();a3=n%10
36、;a2=n%100/10;a1=n%1000/100;a0=n/1000;for(i=0;i=0;i-)System.out.print(ai);工 商 大 学 计 算 机 与 信 息 工 程 学 院 实 验 报 告(8)日期:地点:成绩:实验目的、实验原理和容:一、实验目的 了解Java图形用户界面的常用组件(如窗口、按钮、文本框、选择框、滚动条等)的使用方法,了解如何Java界面设计中的布局管理机制,以及如何使用 Java 的事件处理机制实现界面的互动。二、实验要求 1了解 Java Swing 组件的使用方法。2学习使用布局管理器对组件进行管理的方法。3.理解 Java 的事件处理机制,
37、为不同的组件编写对应的事件处理程序。4.掌握编写独立运行的窗口界面的方法。三、实验容及要求 1在应用程序窗体中安排两个文本框分别用来输入两个整数,两个按钮分别为“+”、“*”,一个结果标签。点击按纽“+”将两文本框的数据做加法运算;点击按钮“*”做乘法运算,将结果显示在标签中。2设计一个在 Windows 系统中可以使用的“计算器”窗口并实现(、等)其功能。3实现一个简单的图像浏览器,部署“上一”、“下一”两个按钮,点击按钮可前后翻阅图片。完成实验教材实践题。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。1、import java.awt.*;imp
38、ort java.awt.event.*;import javax.swing.*;public class myFrame extends JFrame implements ActionListener JLabel res;JTextField f1,f2;public myFrame()super(动作事件例程);/调用父类构造方法 Container c=getContentPane();f1=new JTextField(20);f2=new JTextField(20);JButton b1=new JButton(+);JButton b2=new JButton(*);res
39、=new JLabel(运算结果);c.setLayout(new GridLayout(3,2);c.add(f1);c.add(f2);c.add(b1);c.add(b2);c.add(res);b1.addActionListener(this);b2.addActionListener(this);public void actionPerformed(ActionEvent e)int x=Integer.parseInt(f1.getText();int y=Integer.parseInt(f2.getText();if(e.getActionCommand()=(+)res.
40、setText(+(x+y);else res.setText(+(x*y);public static void main(String args)myFrame my=new myFrame();my.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);my.setSize(200,200);my.setVisible(true);2、import java.awt.*;import java.awt.event.*;import javax.swing.*;public class jisuanqi extends JFrame implemen
41、ts ActionListener JTextArea f1;JButton d1,d2;JButton b;boolean flag=false;public jisuanqi()JPanel p1=new JPanel();JPanel p2=new JPanel();/f1=new JTextArea(1,20);b=new JButton16;String str=123+456-789x0.=/;for(int i=0;ib.length;i+)bi=new JButton(str.substring(i,i+1);/获取介于i-i+1之间的子字符串 f1=new JTextArea
42、();d1=new JButton(c);d2=new JButton(sqrt);setLayout(new BorderLayout();add(p1,BorderLayout.NORTH);add(p2,BorderLayout.CENTER);p1.setLayout(new FlowLayout();p1.add(f1);p1.add(d1);p1.add(d2);d1.addActionListener(this);d2.addActionListener(this);p2.setLayout(new GridLayout(4,4);for(int i=0;ib.length;i+
43、)p2.add(bi);bi.addActionListener(this);setSize(400,250);setVisible(true);public void actionPerformed(ActionEvent e)if(e.getSource()=d1)f1.setText(null);else if(e.getSource()=d2)String s=f1.getText().trim();double d=Math.sqrt(Double.parseDouble(s);f1.setText(String.valueOf(d);else if(e.getSource()=b1
44、4)String s=f1.getText().trim();String rs;if(s.contains(+)rs=s.split(+);double d=Double.parseDouble(rs0)+Double.parseDouble(rs1);f1.setText(String.valueOf(d);else if(s.contains(x)rs=s.split(x);double d=Double.parseDouble(rs0)*Double.parseDouble(rs1);f1.setText(String.valueOf(d);else if(s.contains(-)r
45、s=s.split(-);double d=Double.parseDouble(rs0)-Double.parseDouble(rs1);f1.setText(String.valueOf(d);else if(s.contains(/)rs=s.split(/);double d=Double.parseDouble(rs0)/Double.parseDouble(rs1);f1.setText(String.valueOf(d);flag=true;else if(flag)/为假时 f1.setText();/不点击=和C时将字符串追加在文本域中 f1.append(e.getActi
46、onCommand();flag=false;public static void main(String args)jisuanqi sc=new jisuanqi();/sc.init();sc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);工 商 大 学 计 算 机 与 信 息 工 程 学 院 实 验 报 告(9)日期:地点:成绩:实验目的、实验原理和容:一、实验目的 了解Java图形用户界面的常用组件(如窗口、按钮、文本框、选择框、滚动条等)的使用方法,了解如何Java界面设计中的布局管理机制,以及如何使用 Java 的事件处理机制实现界
47、面的互动。二、实验要求 1了解 Java Swing 组件的使用方法。2学习使用布局管理器对组件进行管理的方法。3.理解 Java 的事件处理机制,为不同的组件编写对应的事件处理程序。4.掌握编写独立运行的窗口界面的方法。三、实验容及要求 1创建一个窗口,包括一个标签、一个文本框和一个按钮,当用户单击按钮时,程序把文本框中的容复制到标签中。请使用两种以上的布局管理器布局窗口的组件。2创建一个菜单程序。添加一个菜单:文件。在“文件”下添加三个菜单选项:“功能 1”、“功能 2”和“退出”,“功能 2”和“退出”两项之间用分隔线分开。当用户点击菜单项时,在窗口的标题栏显示相应的命令文本,如下图所示
48、。要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。1、import java.awt.*;import java.awt.event.*;import javax.swing.*;public class copy extends JFrame implements ActionListener JLabel res;JTextField f1;JButton b1;public copy()super(文本复制示例);JPanel p1=new JPanel();f1=new JTextField(20);b1=new JButton(复制文本);r
49、es=new JLabel(标签);p1.setLayout(new GridLayout(1,2);p1.add(f1);p1.add(res);p1.setBackground(Color.BLUE);res.setForeground(Color.RED);setLayout(new BorderLayout();add(p1,BorderLayout.CENTER);add(b1,BorderLayout.SOUTH);b1.addActionListener(this);public void actionPerformed(ActionEvent e)if(JButton)e.ge
50、tSource()=b1)res.setText(f1.getText();public static void main(String args)copy cp=new copy();cp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);cp.setSize(200,100);cp.setVisible(true);2、import java.awt.event.*;import javax.swing.*;public class caidan extends JFrame implements ActionListener public ca