1、 实 验 报 告 (计算机与信息工程学院实验中心) 学 期: 2014-2015 课程名称: 《Java程序设计实验》 班 级: 信息1202 姓 名: 方逸梅 学 号: 1212100231 指导老师: 费玉莲
2、 《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1.6。 (四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。
3、学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容和要求 见实验报告。 浙江工商大学 计算机与信息工程学院实验报告(1) 日期: 地点: 成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Ecl
4、ipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 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<=
5、4;i++) { System.out.println("Hello java! 欢迎使用!"); } } } 结果示意图1 存在的问题 1、JAVA 存在大小写,因为system没有区分大小写所以出现编译错误。 2、用DOS进入java源程序时,先要用cd转入java源程序所在路径。 程序二 import java.awt.Graphics; import java.applet.Applet; public class helloworld extends Applet { public void pain
6、t(Graphics g) { g.drawString("Hello java! 欢迎使用!",25,25); } } 方法1 直接将程序二打入到java应用程序中,可调出如下图界面 结果示意图2 程序三
7、击打开。 浙江工商大学 计算机与信息工程学院实验报告(2) 日期: 地点: 成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:Java结构化程序设计。 二、实验原理:声明不同数据类型的变量,使用关系运算符和逻辑运算符,使用表达式语句与复合语句,使用选择语句,使用循环语句。 三、实验内容及要求: 1.编程输入学生的学习成绩的等级,给出相应的成绩范围。设A级为85分以上(包括85);B级为70
8、分以上(包括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. 编程输入学生的学习成绩
9、的等级,给出相应的成绩范围。设A级为85分以上(包括85分);B级为70分以上(包括70分);C级为60分以上(包括60分);D级为60分以下。分别使用if语句和switch语句实现。 IF语句 import java.util.*; public class dengji { public static void main(String[] args) { System.out.println("请输入等级:"); Scanner sc=new Scanner(System.in); String grade=sc.next();
10、 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)"); else if(grade.equals("D")) System.out.println("范围在[
11、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){} swi
12、tch(grade) { case 'A': System.out.println("范围在85~100"); break; case 'B': System.out.println("范围在70~85"); break; case 'C': System.out.println("范围在60~70"); break; case 'D': System.out.println("范围在60分以下"); break; default: System.out.println("输入有误!"); }
13、 } } 2.使用continue语句实现:将100~300之间的不能被3整除的数输出。 public class sushu { public static void main(String[] args) { for(int i=100;i<300;i++) { if(i%3==0) continue; System.out.println(i); } } } 3.使用break语句实现记数:从1~100,当数到78时程序终止。 public class sto
14、p { 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
15、void main(String[] args) { int x,y,z,i,sum; for(i=100;i<1000;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
16、 x,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语句 public class num1 { public static void main(String[] args) { int x,y,z,i=100,sum; do{
17、 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); } } 浙江工商大学 计算机与信息工程学院实验报告(3) 日期: 地点: 成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
18、 实验目的、实验原理和内容: 一、实验目的:面向对象程序设计设计(一) 二、实验原理:创建 Applet 应用小程序,创建对象并使用对象,编写显示当前日期和时间的程序,使用修饰符,方法中参数传递的练习,类的继承性练习,类的多态性。 三、实验内容及要求: 1、 一个景区根据游人的年龄收取不同价格的门票。请编写游人类,该类包含两个成员域:年龄和票价;两个方法:设置年龄和根据年龄段决定能够购买的门票价格并输出。然后写出该类实例测试该类(类的基本实现) 2.(1)编写一个圆类Circle,该类拥有: ①一个成员变量 Radius(私有,浮点型); // 存放圆的半径;
19、 ②两个构造方法 Circle( ) // 将半径设为0 Circle(double r ) //创建Circle对象时将半径初始化为r ③ 三个成员方法 double getArea( ) //获取圆的面积 double getPerimeter( ) //获取圆的周长 void show( ) //将圆的半径、周长、面积输出到屏幕 (2)编写一个圆柱体类Cylinde
20、r,它继承于上面的Circle类。还拥有: ①一个成员变量 double hight(私有,浮点型); // 圆柱体的高; ②构造方法 Cylinder (double r, double h ) //创建Circle对象时将半径初始化为r ③ 成员方法 double getVolume( ) //获取圆柱体的体积 void showVolume( ) //将圆柱体的体积输出到屏幕 编写应用程序,创建类的对象,
21、分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 1、 import java.util.*; public class visitor { int age; int price; public void setage(int age) { this.age=age; } public void ticket(){ if(age>0&&age<=8) pr
22、ice=0; else if(age<22) price=40; else if(age<60) price=80; else price=20; System.out.println("门票价格"+price); } public static void main(String[] args) { Scanner sc=new Scanner(System.in); System.out.println("请输入年龄:"); visitor youren=new visitor(); youren.set
23、age(sc.nextInt()); youren.ticket(); } } 2、 public class circle { double radius; circle(){ radius=0.0; } circle(double r) { radius=r; } public double getarea() { return Math.PI*radius*radius; } public double getperimeter() { return 2*Ma
24、th.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
25、 getvolume() { 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
26、0); cy.show(); cy.showvolume(); } } 浙江工商大学 计算机与信息工程学院实验报告(4) 日期: 2014.11.5 地点: 信息楼227 成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:数组、字符串与异常处理。 二、实验原理:使用数组,使用字符串与字符串类,处理异常。 三、实验内容及要求: 1、编写一程序,计算矩阵A={{7,9,4},{5,6,8}}与矩阵
27、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、 public class juzhen { public static void main(String args[])
28、 { 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 int[2][4]; Multiply(intMatrixA,intMatrixB,intMatrixC); System.out.println("\n****MatrixA****"); OutputMatrix(intMatrixA); System.out.
29、println("\n****MatrixB****");
OutputMatrix(intMatrixB);
System.out.println("\n****MatrixC****");
OutputMatrix(intMatrixC);
}
static void Multiply(int intMatrixA[][],int intMatrixB[][],int intMatrixC[][])
{
int i,j,k;
for(i=0;i 30、 {
for(j=0;j 31、[])
{
int i,j;
for(i=0;i 32、String[] args) {
int a[]={63,4,24,1,3,5};
int i,j;
for(i=0;i<5;i++)
{
for(j=0;j<5-i;j++)
{
if(a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<6;i++)
{
System.out.print(a[i]+" ");
}
}
}
3、
33、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;j 34、位置为:"+(j+1));
break;
}
}
//String d=a.substring(j,j+4);
System.out.println("截取的字符串为:"+a.substring(j,j+4));
}
}
浙江工商大学
计算机与信息工程学院实验报告(5)
日期: 地点: 成绩:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
实验目的、实验原理和内容:
一、实验目的 35、文件与数据流。
二、实验原理:使用标准输入输出流,使用字符输入输出流,使用随机文件类,文件的读写操作。
三、实验内容及要求:
1、输入8个整数的数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
2、创建一个文本文件memo.txt,编写程序实现打开该文本文件,每次读取一行内容,将每行作为一个字符串读入,并将字符串输出显示到屏幕上。
附加题:
1、 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
2、 将一个正整数分解质因数。例如:输入90,打印出90=2* 36、3*3*5。
3、 输入两个正整数m和n,求其最大公约数和最小公倍数。
4、 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
5、 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。
1、
import java.util.Scanner;
public class swap {
public sta 37、tic void main(String[] args) {
int i,m,n,k=0,j=0;
int []a=new int[8];
System.out.println("请输入8个数字");
Scanner reader=new Scanner(System.in);
for(i=0;i<8;i++)
{
a[i]=reader.nextInt();
}
int max=a[0],min=a[0];
for(i=1;i<8;i++)
{
if(a[i]>max)
{
max=a[i];
k=i;
38、
}
if(a[i] 39、 java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
public class file {
public static void main(String[] args) throws IOException {
File filePath = new File("D:\\memo.txt");
String str ;
40、
try {
BufferedReader br = new BufferedReader(new FileReader(filePath));
while ((str = br.readLine()) != null)
{
System.out.println(str);
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
}
3.
impo 41、rt java.util.Scanner;
public class rabbit {
public static void main(String[] args) {
System.out.println("请输入n");
Scanner reader=new Scanner(System.in);
int n=reader.nextInt();
if(n==1)
System.out.println("第1个月兔子的对数: 1");
if(n==2)
{
System.out.println("第1个月兔子的对 42、数: 1");
System.out.println("第2个月兔子的对数: 1");
}
int f1=1,f2=2,f,m=24;
if(n>=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) 43、
}
}
}
}
浙江工商大学
计算机与信息工程学院实验报告(6)
日期: 地点: 成绩:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
实验目的、实验原理和内容:
一、实验目的:文件与数据流。
二、实验原理:使用标准输入输出流,使用字符输入输出流,使用随机文件类,文件的读写操作。
三、实验内容及要求:
1. 使用标准输入输出流
2. 使用字符输入输出流
3. 使用随机文件类
4. 文件的读写操作
完成 44、实验教材实践题。
四、题目
1. 编写一个程序。在控制台中窗口中提示输入两个整数,然后接收这两个整数,并输出它们的和。下面是运行过程的示例:
请输入第一个整数:45
请输入第二个整数:23
计算结果:45+23=68
2. 编写一个程序。要求输入5个学生的成绩(从0到100的整数),并将这5个数保存到文件“data.txt”中。然后再编写一个程序,从文件“data.txt”中读取这5个学生的成绩,计算并输出它们的平均数,然后再按从小到大的顺序输出这5个学生的成绩。
3. 编写一个程序。修改在上一题生成的文件“data.txt”中的文件内容,使得第三个学生的成绩变成为这5个学生的平 45、均成绩,并在控制台窗口中输出在修改以后的文件内容。
4.输入一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。
1、
import java.io.*;
public class kongzhitai {
public static int mb_getInt(BufferedReader f)
{
try
{
String s=f.readLine( 46、);
int i=Integer.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("请输入第一个整数:");
47、 int i=mb_getInt(f);
System.out.print("请输入第二个整数:");
int j=mb_getInt(f);
System.out.print("计算结果:"+i+"+"+j+"="+(i+j));
}
catch(Exception e)
{
System.out.println("发生异常!");
e.getStackTrace();
}
}
}
2、
import java.io.*;
public class studentgrade 48、 {
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=new Buff 49、eredReader(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[]= 50、new double[5];
int i,j;
try{
BufferedReader f=new BufferedReader(new InputStreamReader(System.in));
PrintWriter bw=new PrintWriter("D:\\data.txt");
for(i=0;i<5;i++)
{
System.out.print("请输入第"+(i+1)+"个学生的成绩:");
a[i]=mb_getIn(f);
bw.println(String.valueOf(a[
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818