java实验报告完整版(共81页)



《java实验报告完整版(共81页)》由会员分享,可在线阅读,更多相关《java实验报告完整版(共81页)(81页珍藏版)》请在装配图网上搜索。
1、精选优质文档-----倾情为你奉上 实验报告 (计算机与信息工程学院实验中心) 学 期: 2014-2015 课程名称: 《Java 程序设计实验》 班 级: 信息 1202 姓 名: 方逸梅 学 号: 指导老师: 费玉莲 专心---专注---专业
2、 1 《 Java 程序设计》独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容, 在教师的指导下, 学生独立完成程序设计及调试工作。 实验十二的内容由学生自行设计完成。 (二)教学安排 学时数: 30 课时 学时安排:每次实验 3 学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为 JDK 1.6。 (四)具体安排 地点:信息大楼实验室。 辅导:
3、每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的 30%。 二、实验的具体内容和要求 见实验报告。 2 浙江工商大学 计 算 机 与 信 息 工 程 学 院 实 验 报 告( 1) 日期: 地点: 成绩: ━━━━━━━━━━━━━━━━━━━━━
4、━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的: 熟悉 Java 开发环境及简单程序 Java 设计。 二、实验原理: SDK 的下载与安装,设置环境变量,安装 java 虚拟机,使用 Eclipse,编 译 Java 源程序,运行 Java 程序。三、实验内容及要求: 1. 下载、安装并设置 Java SDK 软件包。 2. 熟悉 Eclipse 编辑软件。 3.掌握运行 Java 程序的步骤。 4. 分别编写 Application 和 Applet 程序,显示字符串” Hello Java
5、! 欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for ( int i=0;i<=4;i++) { System. out .println("Hello java! 欢迎使用 !"); } } } 结果示意图 1
6、 3 存在的问题 1、 JAVA 存在大小写,因为 system 没有区分大小写所以出现编译错误。 2、用 DOS 进入 java 源程序时,先要用 cd 转入 java 源程序所在路径。 程序二 import java.awt.Graphics; import java.applet.Applet; public cl
7、ass helloworld extends Applet { public void paint(Graphics g) { g.drawString("Hello java! 欢迎使用 !",25,25); } } 方法 1 直接将程序二打入到 java 应用程序中,可调出如下图界面 结果示意图 2 4
8、 程序三
9、 5 浙江工商大学 计 算 机 与 信 息 工 程 学 院 实 验 报 告( 2) 日期: 地点: 成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的: Java 结构化程序设计。 二、实验原理: 声明不同数据类型的变量, 使用关系运算符和逻辑运算符, 使用表达式语句 与复合语句,使用选择语句,使用循环语句。 三、实验内容及要求: 1.编程输入学生的学习成绩的等级,给出相应的成绩范围。设 A级为 85分以上(包括
10、 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 就是一 个水仙花数。
11、 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 1. 编程输入学生的学习成绩的等级, 给出相应的成绩范围。 设 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
12、. 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 .pri
13、ntln(" 范围在 [60,70)"); else if (grade.equals("D")) 6 System. out .println(" 范围在 [0,60)"); else System. out .println(" 输入有误! "); } } Switch 语句 public class test{ public static void main(String[] args) { char grade=' '; System. out
14、.println(" 请输入等级 :"); try { grade =( char )System. in .read(); } catch (Exception e){} switch (grade) { case 'A': System. out .println(" 范围在 85~100"); break ; case 'B': System. out .println(" 范围在 70~85"); break ; case 'C': System. out .println(" 范围在 60
15、~70"); break ; case 'D': System. out .println(" 范围在 60 分以下 "); break ; default : System. out .println(" 输入有误! "); } } } 7 2.使用 continue 语句实现:将 100~ 300之间的不能被 3整除的数输出。 public class sushu { public static void main(St
16、ring[] args) { for ( int i=100;i<300;i++) { if (i%3==0) continue ; System. out .println(i); } } } 3.使用 break 语句实现记数:从 1~ 100,当数到 78时程序终止。 public class stop { public static void main(String[] args) { for ( int i=1;i<=100;i++) { Sy
17、stem. 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[] args) { int x,y,z,i,sum; for (
18、i=100;i<1000;i++) { z=i%100%10; 8 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; whil
19、e (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 { z=i%100%10;
20、 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) 日期: 地点: 成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容:
21、 一、实验目的: 面向对象程序设计设计(一) 二、实验原理: 创建 Applet 应用小程序,创建对象并使用对象,编写显示当前日期和时间的程序,使用修饰符,方法中参数传递的练习,类的继承性练习,类的多态性。三、实验内容及要求: 1、 一个景区根据游人的年龄收取不同价格的门票。请编写游人类,该类包含两个成员域: 年龄和票价;两个方法:设置年龄和根据年龄段决定能够购买的门票价格并输出。然后 写出该类实例测试该类(类的基本实现) 2. ( 1)编写一个圆类 Circle ,该类拥有: ①一个成员变量 Radius (私有,浮点型) ; // 存放圆
22、的半径; ②两个构造方法 Circle( ) // 将半径设为 0 Circle(double r ) // 创建 Circle 对象时将半径初始化为 r ③ 三个成员方法 double getArea( ) // 获取圆的面积 double getPerimeter( ) // 获取圆的周长 void show( ) // 将圆的半径、周长、面积输出到屏幕 ( 2)编写一个圆柱体类 Cylinder ,它继承于上面的 Circle 类。还拥有:①一个成员变量 double hight (私有,浮点型) ; // 圆柱体的高; ②
23、构造方法 Cylinder (double r, double h ) // 创建 Circle 对象时将半径初 始化为 r ③ 成员方法 double getVolume( ) // 获取圆柱体的体积 void showVolume( ) // 将圆柱体的体积输出到屏幕 编写应用程序, 创建类的对象, 分别设置圆的半径、圆柱体的高, 计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。 10 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 1、
24、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) price=0; else if (age<22) price=40; else if (age<60) price=80; else price=20; System. out .pr
25、intln(" 门票价格 "+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(); } }
26、 11 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*Math. PI *radius; } void show
27、() { 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; } dou
28、ble getvolume() { return height*getarea(); } void showvolume() { System. out .println(" 圆柱体的体积: "+getvolume()); } } 12 public class test1 { public static void main(String[] args) { circle ci= new circle(10.0); ci.show(); cyli
29、nder cy= new cylinder(3.0,4.0); cy.show(); cy.showvolume(); } } 13 浙江工商大学 计 算 机 与 信 息 工 程 学 院 实 验 报 告( 4)
30、 日期: 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, 2
31、4,1, 3, 5) 3、编写程序,测试字符串“你好,欢迎来到 Java 世界”的长度,将字符串的长度转换成字符串进行输出,并对其中的“ Java”四个字母进行截取,输出截取字母以及它在字符串中的位置。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 1、 public class juzhen { public static void main(String args[]) { int intMatrixA[][]={{7,9,4},{5,6,8}}; int intMatrixB[
32、][]={{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 .println("\n****MatrixB****"); OutputMatrix (intMatrixB); System. out .print
33、ln("\n****MatrixC****");
OutputMatrix (intMatrixC);
}
static void Multiply( int intMatrixA[][], int intMatrixB[][], int
intMatrixC[][])
{
int i,j,k;
for (i=0;i 34、r (k=0;k 35、]+" ");
}
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;i<5;i++)
{
for (j=0;j<5-i;j++)
{
if (a[j]>a[j+1])
{
int temp=a[j];
a[j]=a[ 36、j+1];
a[j+1]=temp;
}
15
}
}
for (i=0;i<6;i++)
{
System. out .print(a[i]+" ");
}
}
}
3、
public class jiequ {
public static void main(String[] args) {
String a= new String(" 你好,欢迎来到 Java 世界 ");
int i=a.length();
int j;
37、
char [] c=a.toCharArray();
System. out .println(String. valueOf (i));
for (j=0;j 38、
}
}
16
浙江工商大学
计 算 机 与 信 息 工 程 学 院 实 验 报 告( 5)
日期: 地点: 成绩:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
实验目的、实验原理和内容:
一、实验目的: 文件与数据流。
二、实验原理: 使用标准输入输出流,使用字符输入输出流,使用随机文件类,文件的读写
操作。
三、实验内容及要求:
1、输入 8 个整数的数 39、组, 最大的与第一个元素交换,最小的与最后一个元素交换, 输出数
组。
2、创建一个文本文件 memo.txt ,编写程序实现打开该文本文件,每次读取一行内容,将
每行作为一个字符串读入,并将字符串输出显示到屏幕上。
附加题:
1、古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死, 问每个月的兔子总数为多少?
2、将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5 。
3、输入两个正整数 m 和 n,求其最大公约数和最小公倍数。
4、 输入一行字符,分别 40、统计出其中英文字母、空格、数字和其它字符的个数。
5、求 s=a+aa+aaa+aaaa+aa...a的值,其中 a 是一个数字 。 例如
2+22+222+2222+22222(此时共有 5 个数相加 ),几个数相加有键盘控
制。
要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。
17
1、
import java.util.Scanner;
public cl 41、ass swap {
public static 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++)
{ 42、
if (a[i]>max)
{
max=a[i];
k=i;
}
if (a[i] 43、
{
System. out .print(a[i]+",");
}
18
}
}
2、
import
java.io.File;
import
java.io.FileNotFoundException;
import
java.io.FileReader;
import
java.io.BufferedReader;
import
java.io.IOException;
public
class
file {
44、
public
static
void
main(String[] args)
throws
IOException {
File filePath =
new File("D:\\memo.txt");
String str ;
try
{
BufferedReader br = new BufferedReader( new
FileReader(filePath));
while ((str = br.readLine()) != null )
{
System. o 45、ut .println(str);
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
}
19
3.
import java.util.Scanner;
public class rabbit {
public static void main(String[] args) {
46、
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 个月兔子的对数 : 1");
System.
out .println("
第 2 个月兔子的对数 47、: 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);
}
}
48、
}
}
20
浙江工商大学
计 算 机 与 信 息 工 程 学 院 实 验 报 告( 6)
日期: 地点: 成绩:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
实验目的、实验原理和内容:
一、实验目的: 文件与数据流。
二、实验原理: 使用标准输入输出流,使用字符输入输出流,使用随机文件类,文件的读写操作。
三、实验内容及要 49、求:
1.
使用标准输入输出流
2.
使用字符输入输出流
3.
使用随机文件类
4.
文件的读写操作
完成实验教材实践题。
四、题目
1.
编写一个程序。 在控制台中窗口中提示输入两个整数,然后接收这两个整数,
并输出
它们的和。下面是运行过程的示例:
请输入第一个整数: 45
请输入第二个整数: 23
计算结果: 45+23=68
2. 编写一个程序。要求输入 5个学生的成绩(从 0到 100的整数),并将这 5个数保存到文
件“ data.txt ”中。然后再编写一个程序,从文件“ data. 50、txt ”中读取这 5个学生的成绩,
计算并输出它们的平均数,然后再按从小到大的顺序输出这 5个学生的成绩。
3. 编写一个程序。修改在上一题生成的文件“ data.txt ”中的文件内容,使得第三个学
生的成绩变成为这 5个学生的平均成绩,并在控制台窗口中输出在修改以后的文件内容。
4.输入一个不多于 5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。
51、
21
1、
import java.io.*;
public class kongzhitai {
public static int mb_getInt(BufferedReader f)
{
t ry
{
String s=f.readLine();
int i=Integer. parseInt (s);
return i;
}
c atch (Exception e){
return -1;
}
}
public sta 52、tic 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+"= 53、"+(i+j));
}
catch (Exception e)
{
System. out .println(" 发生异常! ");
e.getStackTrace();
}
}
}
22
2、
import java.io.*;
public class studentgrade {
public static double mb_getIn(BufferedReader f)
{
try
{
54、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 BufferedReader( new
FileReader("D:\\data.txt"));
for (String s=f1.read 55、Line();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 double [5];
int i,j;
try {
23
B 56、ufferedReader 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[i]));
}
bw.close();
System. 57、 out .println(" 平均成绩为: "+studentgrade. avg ());
System. out .println(" 从小到大排序的 5 名学生成绩为: ");
for (i=0;i<4;i++)
{
for (j=0;j<4-i;j++)
{
if (a[j]>a[j+1])
{
double temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for (i=0;i<5;i++)
{
System. out .print(a[i]+" 58、 ");
}
}
catch (Exception e)
{
System. out .println(" 发生异常! ");
e.getStackTrace();
}
}
}
24
3、
import java.io.*;
public class xiugai
{
public static void main(String[] args) {
try
{
Rando 59、mAccessFile f= new RandomAccessFile
(("D://data.txt"),"rw");
f.seek(8);
f.writeBytes(String. valueOf (studentgrade. avg ()));
f.seek(0);
for (String s=f.readLine();s!= null ;s=f.readLine())
{
System. out .println(s);
}
f.close();
}
catch (Exception e){
System. 60、 out .println(" 发生异常! ");
e.getStackTrace();
}
}
}
25
4、
import
java.util.*;
public
class
reverse {
public
static
void main(String[] args) {
Scanner sc= 61、
new Scanner(System.
in );
System.
out
.println("
请输入不多于
5 位的正整数: ");
try
{
int
d=sc.nextInt();
String a=String.
valueOf (d);
if
(a.length()>5)
System.
out
.println("
输入超限! ");
else
{
62、
System.
out
.println("
它是 "+a.length()+"
位数 ");
char
[] stringArr = a.toCharArray();
for
( int
i=a.length()-1;i>=0;i--)
{
System. out .print(stringArr[i]+" ");
}
}
}
catch (Exception e)
{
System. out .println(" 输入有误! ");
e.getSt 63、ackTrace();
}
}
}
26
浙江工商大学
计 算 机 与 信 息 工 程 学 院 实 验 报 告( 7)
日期: 地点: 成绩:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
实验目的、实验原理和内容:
一、实验目的: 综合习题及多线程。
二、实验原理: 使用前面所学知识,综合编程。
三、实验内容及 64、要求:
综合习题及多线程
四、题目
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. 某个 65、公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规
则如下:每位数字都加上 5,然后用和除以 10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
附加题: 利用多线程编程编写一个龟兔赛跑程序。乌龟:速度慢,休息时间短;兔子:速度快,休息时间长。
要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。
27
1、
public class fendui {
66、
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')
System. out .println(" a Vs "+i+"\n b Vs "+j+"\n c Vs
"+k);
}
}
}
}
}
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。