java实验4(共5篇)

时间:2019-05-12 13:05:56下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《java实验4》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《java实验4》。

第一篇:java实验4

实验四

流、文件及基于文本的应用

一、实验目的

1)理解数据流的概念。2)理解Java流的层次结构。3)理解并掌握文件的读写操作方法。

二、实验内容

1)编写一个java Application程序,接受用户输入的10个整数,比较并输出其中的最大值和最小值。

四、实验原理

1)字节流和字符流

Java的输入/输出流中,根据它们的数据类型,主要可分为两类:字符流(Character Stream)和字节流(Btye Stream)。(1)字符流

字符流的输入/输出数据是字符码,即Unicode字符。字符流有两个基本类:Reader类和Writer类。Reader类用于处理字符输入流,Writer类用于处理字符输出流。(2)字节流

字节流是按字节读/写二进制数据。字节流有两个基本的类:InputStream类和OutputStream类。InputStream类用于处理字节输入流,OutputStream类用于处理字节输出流。2)节点流和处理流

按照流是否直接与特定的地方(如磁盘、内存等)相连,分为节点流与处理流。(1)节点流:可以从或者向一个特定的地方(节点)读写数据。如文件流FileReader。(2)处理流:是对一个已经存在的流的连接和封装,通过所封装的流的功能调用实现数据读、写功能。处理流也称过滤流,如缓冲处理流BufferedReader。

3)文件字节流

(1)文件字节输入流

FileInputStream(文件字节输入流)主要用于文件的输入,通过该类创建的对象可以从文件中读数据。FileInputStream类提供的常用方法有:

FileInputStream(String name)throws FileNotFoundException 创建一个关联到实际文件的文件字节输入流,name指定了要关联到的文件的路径名。如果该文件不存在或是不能被打开,将抛出一个FileNotFoundException异常。FileInputStream(File file)throws FileNotFoundException 创建一个关联到实际文件的文件字节输入流,file是一个文件对象。如果该文件不存在或是不能被打开,将抛出一个FileNotFoundException异常(2)文件字节输出流

FileOutputStream(文件字节输出流)主要用于文件的输出,通过该类创建的对象可以往文件中写数据。FileOutputStream类提供的常用方法有: FileOutputStream(String name)throws FileNotFoundException FileOutputStream(File file)throws FileNotFoundException FileOutputStream(String name, boolean append)throws FileNotFoundException FileOutputStream(File file, boolean append)throws FileNotFoundException 4)字符文件流

FileReader用于文件的输入,该类以字符流的方式从文件中读数据。FileReader类提供的常用方法有:

FileReader(String name)throws FileNotFoundException FileReader(File file)throws FileNotFoundException FileWriter用于文件的输出,该类以字符流的方式往文件中写数据。FileWriter类提供的常用方法有:

FileWriter(String name)throws FileNotFoundException FileWriter(String name, boolean append)throws FileNotFoundException FileWriter(File file, boolean append)throws FileNotFoundException 5)Java Application命令行参数

Java Application是用命令行来启动执行的,命令行参数就成为向java application传入数据的常用方式。在启动java应用程序时可以一次性的向应用程序中传递0到多个参数。格式为: java 类名 参数1 参数2 …

参数间用空格隔开,如果参数本身有空格,则要用一对双引号引起来。命令行参数被系

统以String数组的方式传递给main方法,由参数args接收。

六、思考题

1)从一个文本文件Student.txt中读入30个学生的姓名、专业、班级、java成绩,并实现如下功能

(1)显示所有学生的成绩信息;

(2)统计各个班级的最高分、最低分和平均分,并将结果写入另外一个文件StudentTj.txt;

(3)将所有学生信息写入Access数据库,数据库自己建立。(可选)源程序:

import java.io.*;import java.util.*;public class MaxMinClass {

} static int maxint(int data[],int n){

{

}

return h;static int minint(int data[],int n){

{

if(data[i]

{

}

h=i;int h=0;

for(int i=0;i

if(data[i]>data[h])

{

}

h=i;int h=0;

for(int i=0;i

}

}

return h;public static void main(String args[]){

} String s=“";int i=0;int data[]=new int[10];System.out.println(”请输入10个整数,以空格作为分隔符:“);try {

} catch(IOException e){ } System.out.println(”你已经输入的10个整数为:“+s);StringTokenizer st=new StringTokenizer(s);while(st.hasMoreTokens()){

} System.out.println(”十个数中的最大的数为:“+data[maxint(data,10)]);System.out.println(”十个数中的最大的数为:“+data[minint(data,10)]);data[i]=Integer.parseInt(st.nextToken());i++;BufferedReader in=new BufferedReader(new InputStreamReader(System.in));s=in.readLine();

}

import java.io.*;import java.util.*;class MaxMinClass {

}

}

static float average(float data[],int n){

{

h+=data[i];

} float h=0;

for(int i=0;i

{

}

return h;

if(data[i]

{

}

h=i;int h=0;

for(int i=0;i

int maxint(float data[],int n){

{

}

return h;

if(data[i]>data[h])

{

}

h=i;int h=0;

for(int i=0;i

h=h/n;

} class Student {

} public class TestFile {

static String ToString(float a,float b,float c){

} public static void main(String args[])throws Exception { File f=new File(”F:Student.txt“);String data[]=new String[30];Student s[]=new Student[30];BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream(f)));for(int i=0;i<30;i++)

{ data[i]=in.readLine();// System.out.println(data[i]);return ”最高分为“+a+”

最低分为“+b+”

平均分为“+c+”rn“;String name;String zhuanye;String banji;float

chenji;Student(String name,String zhuanye,String banji,float chenji){

} public String toString(){

} return ”姓名:“+this.name+”

专业:“+this.zhuanye+”

班级:“+this.banji+”

成绩: this.name=name;this.zhuanye=zhuanye;this.banji=banji;this.chenji=chenji;

return h;}

“+this.chenji;

} in.close();for(int i=0;i<30;i++)

{ StringTokenizer st=new StringTokenizer(data[i]);

//

System.out.println(st.countTokens());

s[i]=new

} int m=0,n=0,q=0;float data1[]=new float[20];float data2[]=new float[20];float data3[]=new float[20];for(int i=0;i<30;i++){

} System.out.println(”班级01班的最高分:“+data1[MaxMinClass.maxint(data1,n)]);System.out.println(”班级01班的最低分:“+data1[MaxMinClass.minint(data1,n)]);System.out.println(”班级01班的平均分:“+MaxMinClass.average(data1, n));System.out.println(”班级02班的最高分:“+data2[MaxMinClass.maxint(data2,m)]);System.out.println(”班级02班的最低分:“+data2[MaxMinClass.minint(data2,m)]);System.out.println(”班级02班的平均分:“+MaxMinClass.average(data2, m));System.out.println(”班级03班的最高分:“+data3[MaxMinClass.maxint(data3,q)]);System.out.println(”班级03班的最低分:“+data3[MaxMinClass.minint(data3,q)]);System.out.println(”班级03班的平均分:“+MaxMinClass.average(data3, q));if(s[i].banji.equalsIgnoreCase(”01“)){

} if(s[i].banji.equalsIgnoreCase(”02“)){

} if(s[i].banji.equalsIgnoreCase(”03“)){

} data3[q]=s[i].chenji;q++;data2[m]=s[i].chenji;m++;data1[n]=s[i].chenji;n++;

System.out.println(s[i]);Student(st.nextToken(),st.nextToken(),st.nextToken(),Integer.parseInt(st.nextToken()));

} FileOutputStream fos=new FileOutputStream(”F:StudentTj.txt“);BufferedOutputStream bos=new BufferedOutputStream(fos);bos.write(”班级01班:“.getBytes());String sa=ToString(data1[MaxMinClass.maxint(data1,n)],data1[MaxMinClass.minint bos.write(sa.getBytes());

bos.write(”班级02班:“.getBytes());String sa1=ToString(data2[MaxMinClass.maxint(data2,m)],data2[MaxMinClass.minint bos.write(sa1.getBytes());

bos.write(”班级03班:".getBytes());String sa2=ToString(data3[MaxMinClass.maxint(data3,q)],data3[MaxMinClass.minint bos.write(sa2.getBytes());bos.close();}(data1,n)],MaxMinClass.average(data1, n));(data2,m)],MaxMinClass.average(data2, m));(data3,q)],MaxMinClass.average(data3, q));

第二篇:java上机实验

1、实验一:多线程程序设计:炮打飞机

实验目的:学会使用多线程进行并发程序设计

实验内容:编写一个应用程序模拟大炮打飞机。在GUI界面上,飞机水平飞行,用界面上的按钮控制大炮的运行方向(如向左,向右,向上,向下)。当炮弹碰着飞机后,飞机坠落。

2、实验二:数据库编程:书目信息管理

实验目的:掌握数据库编程技术。能正确连接数据库,能对数据库中信息进行查询、插

入、删除、修改。

实验内容:在数据库中创建一张书目信息表,包括书名、作者、出版社、出版日期、书

号、价格字段。设计一个GUI界面进行书目管理。在该界面上有四个选项卡,分别是查询、插入、删除、修改。点击查询选项卡,出现的界面上有书名、作者、出版社、书号四个文本框,一个按钮和一个只读文本区。文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的“查询”按钮,可以在界面下方的文本区中显示出符合条件的书目详细信息。点击插入选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。在文本框中输入信息后,点击“插入”按钮,该书目信息插入数据库表中。点击删除选项卡,出现的界面上有书名文本框和一个按钮,输入书名后点击“删除”按钮,该书目信息从数据库表中删除。点击修改选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。输入的书名必须是已存在的,否则会弹出消息框显示出错信息。输入信息后,点击“修改”按钮,数据库表中的相应书目信息被修改为新值。

3、实验三:Applet编程:鸭子的移动

实验目的:掌握Applet程序设计的方法,学会在Applet中绘制图片,能采用双缓冲技术进行图片绘制,会在Applet中采用多线程进行动画显示。能在Applet中实现动画的平滑显示,避免闪烁现象。

实验内容:在Applet窗口中显示一只鸭子图片,要求这只鸭子以每秒100帧的速率水平移动,移到窗口边界再返回移动。在窗口中点击鼠标,鸭子停止移动;再次点击鼠标,鸭子恢复移动。

4、实验四:网络编程:聊天室的实现

实验目的:会编写客户端和服务器程序实现C/S模式下的通信,会使用多线程进行网络编程。

实验内容:编写一个聊天室程序:客户端界面请自行设计,可使其具有个性化特征; 可在实现基本的聊天室功能的基础上添加个性化的功能。

第三篇:JAVA实验指导书

实验

一、简单Java程序设计

一、实验目的

1. 学习使用JCreator开发JAVA代码。

2. 了解JAVA的运行环境,掌握开发JAVA代码所需要的相关配置。3. 在JCreator中输入习题程序,验证程序的正确性,熟悉开发环境。

二、实验内容

1. 设置实验环境

a.安装JDK,下载JDK包以后,按安装向导的提示依次安装,可直接安装在C盘根目录下。

b.更新环境变量:

2. 编写程序:由键盘输入两个字符串“12”与“24”,将它们转换成整数,然后计算并输出这两个数的和。

3. 编写程序:由键盘输入给出一个百分制成绩,要求输出成绩等级’A’、’B’、’C’和’D’,90分以上为’A’,75~89为’B’,60~74为’C’,60分以下为’D’。

4. 编一程序,求一个10项所组成的等差数列,其奇数项之和为135,偶数项之和为150。5. 用for语句输出下列数字金字塔:

1 3 1 1 3 5 3 1 3 5 7 5 3 1 1 3 5 7 9 7 5 3 1 6. 编写程序:由键盘输入一正整数,求出小于且等于这个数的所有质数。实验

二、基本数据类型和数组

一、实验目的

1.进一步熟悉JCreator开发JAVA代码。

2.了解数组的使用与JAVA中对字符串的主要操作。

3.在JCreator中输入习题程序,验证程序的正确性,熟悉开发环境。

二、实验内容

1.编写程序:由键盘输入一整数,求出该数所有的因子,如输入6,则输出的6的所有因子为1、2、3、6。

2假设有一条钢材长2000米,每天截取其中的一半,编一程序求出多少天后,钢材的长度开始短于5米?

3编写程序:利用数列4(113151719111)来取得的近似值。并计算在得到3.14159之前,这个数列要取到第几项?

4使用java.long.Math类,生成10个0~99之间的随机整数,求出它们中的最大值和最小值。

提示:java.long.Math类支持random方法:Math.Random()。该方法返回值是正数,类型为double,范围为0~1。如果要得到其它范围的数,则要进行相应的转换。例如要得到(a,b)之间的整数的方法是:(int)((b-a+1)*Math.random()+a)。若要得到(0,99)之间的整数可以使用下列语句:

int m =(int)(100*Math.random());5编写程序:声明一数组来存放12个月的英文名称,由用户从键盘输入月份,如输入8,则程序输出相应的月份名称:August。同时请大家考虑若是用户输入了1~12以外的内容,你的程序将如何应对?

6编写程序:由键盘输入一16位的长整数,统计0~9这十个数字每一个出现的次数。7编写程序:将两个各有6个整数的数组,合并成一个由小至大排列的数组(该数组的长度为12)。8编写程序:以递归的方式实现1+2+3+„„+n(n = 200)的计算。

实验

三、类与对象

一、实验目的

1.进一步熟悉JCreator开发JAVA代码。2.了解类和对象之间的关系。

3.在JCreator中声明一个类,其中有多个构造方法。用不同的构造方法创建对象。

二、实验内容 声明一个矩形类Rectangle,其中有多个构造方法。用不同的构造方法创建对象,并输出矩形的周长和面积。声明一个矩阵类Matrix,有这样一些实例方法:将一个矩阵转置、求两个矩阵的和。写出下面程序的运行结果

class University { String name, city;University(String name, String city){ this.name = name;this.city = city;System.out.println(“super class”);} boolean samecity(String city){ if(city.equals(this.city))return true;else return false;} boolean samecity(University u){ return samecity(u.city);} }

class UniversityWorld extends University { String country;UniversityWorld(String name, String city, String country){ super(name,city);this.country = country;System.out.println(“sub class”);} boolean samecity(String city, String country){ if(city.equals(this.city)&& country.equals(this.country))return true;else return false;} boolean samecity(UniversityWorld other){ return samecity(other.city, other.country);} }

class UniversityWorldCity { public static void main(String args[]){ String city = “上海”,country = “中 国”;UniversityWorld u1 =new UniversityWorld(“北京大学”, “北京”, “中 国”);UniversityWorld u2 = new UniversityWorld(“清 华 大 学”, “北京”, “中 国”);System.out.println(“u1 = ” + u1.name + “, ” + u1.city + “, ” +u1.country);System.out.println(“u2 = ” + u2.name + “, ” + u2.city+ “,” + u2.country);System.out.println(“city = ” + city + “, country = ” +country);System.out.println(“u1.samecity(u2)= ” + u1.samecity(u2));System.out.println(“u1.samecity(city, country)= ” + u1.samecity(city,country));} } 实验

四、继承与接口

一、实验目的

1.进一步熟悉JCreator开发JAVA代码。2.了解类的成员的访问权限和包的关系。

3.了解继承和接口的区别已及它们各自的作用,熟悉开发环境。

二、实验内容 创建两个String类的对象str1和str2,判断sr2是否是str1的子串。如果是,输出str1中,在子串ztr2前和后的字符串。如:

“Action”是“addActionListener”的子串,在此子串前是字符串”add”,后面是字符串”Listener”。写出下面程序的运行结果 class Leve1{ String name=“";

int height,width;public Leve1(){;}

public Leve1(Leve1 le){

name=le.name;

height=le.height;

width=le.width;} public Leve1(String na,int h,int w){

name=na;

height=h;

width=w;}

public int higherthen(Leve1 t){

return this.height-t.height;}

public void print(){

System.out.println(”class Leve1: “);

System.out.println(”Name=: “+name+”, Height=: “+height+”, Width=: “+width);} } class Leve2 extends Leve1{ int width;

public Leve2(){;}

public Leve2(Leve1 le,int h,int w){

super(le);

height=h;

width=w;}

public int widerthen(){

return width-super.width;} public void print(){

System.out.println(”class Leve2: “);

System.out.println(”Name=: “+name+”, Height=: “+height+”, Width=: “+width);} } public class Lev_ex{ public static void main(String args[]){ Leve1 le1=new Leve1(”Tower_1“,50,20);

Leve2 le2=new Leve2(le1,40,25);

le1.print();

le2.print();

System.out.println(”Leve1 is “+le1.higherthen(le2)+” highter then Leve2.“);

System.out.println(”Leve2 is “+le2.widerthen()+” wider then Leve1.“);} }

3、编写代码,完成功能:建立一个窗口,窗口上方横列“文件”、“选项”两个菜单项。其中“文件”菜单下隐含“退出”、“显示”、“隐藏”三个子菜单,每个子菜单都可用快捷键选择并且“退出”与其他两个子菜单之间用分隔线分隔。“选项”菜单下包含名称为“1”、“2”、“3”。。。“50”的50个菜单项,当选择其中任何一个数字选项时,窗口正中将显示0至该数字之间所有数的平方和(包含数字本身)。如选中选项“3”,则显示14(SUM=1*1+2*2+3*3=14)。实验

五、常用实用类

一、实验目的

1.进一步熟悉JCreator开发JAVA代码。2.了解常用实用类的使用。

二、实验内容 求和工具。编写一个程序:设计如下面图示的界面。在该界面中,可以在第一个文本框中输入第一个加数,可以在第二个文本框中输入第二个加数,当用鼠标的左键单击按钮”="时,在第三个文本框中显示出前面两个加数之和。设计一个简单的计算器,能进行两个数的加、减、乘、除。界面如图所示。“clear”按钮用于清理文本域的内容。16方格排序游戏设计。编写一个程序:如图所示,要求在界面上设计4×4的按钮,即16个按钮排列成4×4的网格形状。其中有且只有15个按钮上有从1到15的数字,而且这些数字在按钮上不重复出现。另外有一个按钮上没有数字。当程序刚启动时这15个数字是随机排列的。当用鼠标左键单击某个按钮,如果该按钮上有数字而且该按钮在没有数字的按钮的边上,则将该按钮上的数字给没有数字的按钮,同时该按钮就变成了没有数字的按钮。当15个数字在4×4的网格中呈顺序或逆序排列,则显示消息框表明排列成功,并重新随机排列这15个数字在按钮网格上的位置。(提示: Math.random()可以产生随机数)

实验

六、GUI编程

一、实验目的

1.进一步熟悉JCreator开发JAVA代码。2.了解GUI编程。

二、实验内容

1. 在下拉列表choice1中选择整数N,单击“生成”按钮在列表框List1和List2中显示N对的随机数(2~1000),在列表框List3中显示每对随机数的最大公约数。单击“排序”按钮,List3中的N个最大公约数按从小到大排列。(提示:排序算法采用冒泡法。两数的最大公约数可以采用欧几里得算法:不断用两数中较大数减较小的数,至到有一个数等于0。另外一个大于0的数就是这两数的最大公数约)。

2.完成程序实现一个简单的文本编辑器,其中File菜单实现Exit子菜单,Edit菜单实现Copy、Cut、Paste、DeleteAll功能,Option菜单实现字体设置功能。

3.在文本框中输入函数y=sin(ax)中a的值,点击draw按钮画出函数图形。

实验

七、多线程

一、实验目的

1.进一步熟悉JCreator开发JAVA代码。2.了解多线程编程。

二、实验内容

1、编写程序,有两个线程,分别在屏幕上显示1~50之间的奇数和偶数。观察一共有几个线程在运行,各个线程是怎样被处理器执行的。

2、编写一个程序,创建两个线程,其中一个产生5个1~100之间的随机整数,另一个线程将这5个数加起来。观察运行的情况,分析是否正确。如果结果有问题,想办法解决它。

实验

八、图形图像

一、实验目的

1.进一步熟悉JCreator开发JAVA代码。2.了解图形图像编程。

二、实验内容

1、编写一个模拟画图的程序,用户可以选择绘图的图形,如“线”、“矩形”、“圆”、“椭圆”等,选择后即可在屏幕上移动鼠标画图。(提示:选择图形可以使用单选按钮组,画图需要处理鼠标事件。)

第四篇:Java程序设计实验2

学 生 实 验 报 告 册

课程名称:

学生学号:

所属院部:

(理工类)

专业班级:

学生姓名:

指导教师: ——20 学年 第 学期

金陵科技学院教务处制

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。

实验报告书写说明

实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

金陵科技学院实验报告

实验项目名称: 面向对象编程实验 实验学时: 8 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验1 面向对象编程实验

一、实验目的和要求

(1)理解Java概念、掌握JDK环境配置(2)熟悉Java开发过程

(3)掌握Java面向对象编程基础:封装、继承、多态(4)掌握Java接口编程,理解开发模式

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、JDK环境配置

2、面向对象的封装性

范例:设计一个表示学生的类,里面有学生的三项成绩:计算机成绩、数学成绩、英语成绩。要求可以求总分、平均分、最高分、最低分,并且可以输出一个学生的完整信息。代码如下: class Student{ private String name;private int age;private float english;private float computer;private float math;public Student(){} public Student(String n,int a,float e,float c,float m){

this.setName(n);

this.setAge(a);

this.setEnglish(e);

this.setComputer(c);

this.setMath(m);} public float sum(){

return english + computer + math;} public float avg(){

return this.sum()/ 3;} public float max(){

float max = computer>math?computer:math;

max = max>english?max:english;

return max;} public float min(){

float min = computer

min = min

return min;

金陵科技学院实验报告

} public String getInfo(){

return “学生信息: n” +

“t|-姓名:” + this.getName()+ “n” +

“t|-年龄:” + this.getAge()+ “n” +

“t|-数学成绩:” + this.getMath()+ “n” +

“t|-英语成绩:” + this.getEnglish()+ “n” +

“t|-计算机成绩:” + this.getComputer();} public void setName(String n){

name = n;} public void setAge(int a){

age = a;} public void setEnglish(float e){

english = e;} public void setComputer(float c){

computer = c;} public void setMath(float m){

math = m;} public String getName(){

return name;} public int getAge(){

return age;} public float getEnglish(){

return english;} public float getComputer(){

return computer;} public float getMath(){

return math;} } public class ExecDemo{ public static void main(String args[]){

Student stu = new Student(“张三”,30,89.0f,91.0f,87.0f);

System.out.println(“总分:” + stu.sum());

金陵科技学院实验报告

}

} System.out.println(“平均分:” + stu.avg());System.out.println(“最高分:” + stu.max());System.out.println(“最低分:” + stu.min());System.out.println(stu.getInfo());对照范例写出如下题目:

(1)编写并测试一个代表地址的Address类,包括以下的属性:国家、省份、城市、街道、邮编。

可以从此地址类中得到一个完整的地址信息。

(2)定义并测试一个代表员工的Employee类。它的属性包括“员工姓名”、“员工号码”、“员工基本薪水”,它的方法包括“构造方法”、“获取员工姓名”、“获取员工号码”、“获取员工基本薪水”、“设置员工姓名”、“设置员工号码”、“设置员工基本薪水”、所有员工信息的输出getInfo。(3)、定义一个圆形类,可以返回圆的面积与周长。

class Circle{

成员变量 半径 r

构造方法

成员函数 设置和获取 半径

计算周长

计算面积

所有信息输出 } 定义一个矩形类,返回矩形的面积与周长(4)、思考设计:一个人有一本书,一本书属于一个人。//一个人有一本书,一本书属于一个人 //类 新的类别、类型 定义新的数据类型 //两个类的关系 独立的两个类 使用 class Person{ private String name;private int age;private Book book;//一个人有一本书 public Person(){

} public Person(String name,int age){ this.name=name;this.age=age;} public void setBook(Book book){ this.book=book;} public Book getBook(){ return this.book;

金陵科技学院实验报告

} } class Book{ private String name;private float price;private Person person;//一本书属于一个人 public Book(){ } public Book(String name,float price){ this.name=name;this.price=price;} public void setPerson(Person person){ this.person=person;} public Person getPerson(){ return this.person;} } public class TestBP{ public static void main(String args[]){ Person per=new Person(“zhangsan”,20);Book bok=new Book(“Java program”,20.0f);per.setBook(bok);//一个人有一本书

bok.setPerson(per);//一本书属于一个人

per.getBook().getPrice();bok.getPerson().getName();} }

3、面向对象的继承性

范例:要求定义一个数组类Array,里面定义了一个整型数组,但是此整型数组属于动态分配大小,即:所有的大小由程序指定,并在此基础上实现以下的两个子类:

反转类:可以将数组的内容反转排列

排序类:可以对数组进行排序的操作 class Array{ private int temp[] = null;// 只是声明数组,但是大小未知

private int foot = 0;// 用于保存下一个的记录点

public Array(int len){

if(len>0){

this.temp = new int[len];// 此时大小由外部决定

}else{

this.temp = new int[1];// 至少开辟一个空间

} }

金陵科技学院实验报告

public boolean add(int i){ // 加入数据操作

if(this.foot

this.temp[this.foot] = i;// 加入内容

this.foot++;// 改变长度

return true;// 加入成功返回true

}else{

return false;// 加入失败

} } public int[] getArray(){ // 返回全部的数组

return this.temp;} } class SortArray extends Array{ public SortArray(int len){

super(len);} public int[] getArray(){

java.util.Arrays.sort(super.getArray());// 排序操作

return super.getArray();// 返回的是排序后的内容

} } class ReverseArray extends Array{ public ReverseArray(int len){

super(len);} public int[] getArray(){

int rt[] = new int[super.getArray().length];// 根据大小开辟新数组

int count = rt.length-1;

for(int x=0;x

rt[count] = super.getArray()[x];

count--;

}

return rt;} } public class ArrayDemo{ public static void main(String args[]){

ReverseArray arr = new ReverseArray(6);

System.out.println(arr.add(3));

System.out.println(arr.add(23));

System.out.println(arr.add(1));

System.out.println(arr.add(5));

金陵科技学院实验报告

System.out.println(arr.add(6));

System.out.println(arr.add(8));

System.out.println(arr.add(11));

System.out.println(arr.add(16));

print(arr.getArray());} public static void print(int i[]){

for(int x=0;x

System.out.print(i[x] + “、”);

} } } 对照范例写出如下题目:

(1).创建GrandFather类,其中包括

a)属性:姓名(name),年龄(age)

b)方法getGrandFather():显示爷爷的信息

c)构造方法:给爷爷的姓名,年龄赋值(2).创建Father类,继承Grandfather类 a)属性:除了继承爷爷的属性以外,还要增加自己的属性:“职业”(occupation)b)构造方法:显式调用父类的构造方法,为Father类的姓名和年龄赋初始值。再为职业输入初始值。

c)方法getFather(): 显示父亲的相关信息

(3).创建ClassMain()类,定义main()方法,构造GrandFather类的对象和Father类的对象,并分别显示详细信息。

3、面向对象多态性

范例:计算柱体的体积。柱体体积计算公式是:底部面积乘以高度 柱体底部分为 圆形和矩形 要求:通过抽象类和多态实现 package cn.jit.demo;abstract class Bottom { //父类抽象类 底部

public abstract double calculatorArea();} class CircleBottom extends Bottom{ //圆形底

/** * 半径

*/ private double radius;

@Override public double calculatorArea(){

return Math.PI * radius * radius;} public double getRadius(){

金陵科技学院实验报告

return radius;} public void setRadius(double radius){

this.radius = radius;} public CircleBottom(double radius){

super();

this.radius = radius;} } class SquareBottom extends Bottom{ //矩形底

private double sideA;

private double sideB;public double getSideA(){

return sideA;} public void setSideA(double sideA){

this.sideA = sideA;} public double getSideB(){

return sideB;} public void setSideB(double sideB){

this.sideB = sideB;} @Override public double calculatorArea(){

return sideA * sideB;} public SquareBottom(double sideA, double sideB){

super();

this.sideA = sideA;

this.sideB = sideB;} } class ZhuTi { //柱体类,完成形状的拼装

/** * 底

*/ private Bottom bottom;/** * 高

*/

金陵科技学院实验报告

private double height;/** * 计算体积

* @return */ public double calculatorVolumn(){

return bottom.calculatorArea()* height;} public ZhuTi(Bottom bottom, double height){

super();

this.bottom = bottom;

this.height = height;} public Bottom getBottom(){

return bottom;} public void setBottom(Bottom bottom){

this.bottom = bottom;} public double getHeight(){

return height;} public void setHeight(double height){

this.height = height;} public void changeBottom(Bottom bottom){

this.bottom = bottom;} } public class VolumnTest { //测试类

public static void main(String[] args){

Bottom bottom = new CircleBottom(1.0);

double height = 1.0;

ZhuTi zhuTi = new ZhuTi(bottom,height);

double result = zhuTi.calculatorVolumn();

System.out.println(“圆柱体的体积是:” + result);

bottom = new SquareBottom(1.0,1.0);

zhuTi.changeBottom(bottom);

result = zhuTi.calculatorVolumn();

System.out.println(“立方体的体积是:” + result);} } 范例:接口和多态的应用,例如:电脑上实现了USB接口,U盘,打印机等等也都实现了此标准。

金陵科技学院实验报告

interface USB{ public void start();// 开始工作

public void stop();// 结束工作 } class Computer{ public static void plugin(USB usb){

usb.start();

usb.stop();} };class Flash implements USB{ public void start(){

System.out.println(“U盘开始工作。”);} public void stop(){

System.out.println(“U盘停止工作。”);} };class Print implements USB{ public void start(){

System.out.println(“打印机开始工作。”);} public void stop(){

System.out.println(“打印机停止工作。”);} };public class InterPolDemo02{ public static void main(String args[]){

Computer.plugin(new Flash());

Computer.plugin(new Print());} };对照范例,写出以下程序:(1)乐器(Instrument)的标准为弹奏(play),而乐器类型分为:钢琴(Piano)和小提琴(Violin),各种乐器的弹奏方法各不同。编写代码实现不同乐器的弹奏。(2)计算机模拟

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: 类集

实验学时: 4 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验2 类集

一、实验目的和要求(1)理解类集概念

(2)熟悉Collection接口、List接口、Set接口和Map接口(3)掌握ArrayList类、HashSet类和TreeSet类(4)理解TreeMap、HashMap

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、类集应用

范例:实现一个超市管理系统,要求可以添加货物,删除货物和查询货物:

。代码如下:

public interface Goods { public String getName();// 得到商品名称

public int getCount();// 得到商品数量

public float getPrice();// 得到商品价格 }

public class Book implements Goods {

private String name;private int count;private float price;

public Book(){ }

public Book(String name, int count, float price){

this.name = name;

this.count = count;

this.price = price;}

public String getName(){

return name;}

public void setName(String name){

this.name = name;

金陵科技学院实验报告

}

public int getCount(){

return count;}

public void setCount(int count){

this.count = count;}

public float getPrice(){

return price;}

public void setPrice(float price){

this.price = price;}

public boolean equals(Object obj){

if(this == obj){

return true;

}

if(!(obj instanceof Book)){

return false;

}

Book b =(Book)obj;

if(b.name.equals(this.name)&& b.count == this.count

&& b.price == this.price){

return true;

} else {

return false;

} }

public int hashCode(){

return this.name.hashCode()+ new Integer(this.count).hashCode()

+ new Float(this.price).hashCode();}

public String toString(){

return “书名:” + this.name + “;书的价格:” + this.price + “;书的数量:”

+ this.count;}

金陵科技学院实验报告

}

import java.util.ArrayList;import java.util.Iterator;import java.util.List;

public class SuperMarket { private List allGoods;

public SuperMarket(){

this.allGoods = new ArrayList();}

public void add(Goods goods){

this.allGoods.add(goods);}

public void remove(Goods goods){

this.allGoods.remove(goods);}

public List search(String keyWord){

List temp = new ArrayList();

Iterator iter = this.allGoods.iterator();

while(iter.hasNext()){

Goods g = iter.next();

if(g.getName().indexOf(keyWord)!=-1){

temp.add(g);

}

}

return temp;}

public List getAllGoods(){

return this.allGoods;} }

import java.util.Iterator;import java.util.List;

public class Test {

金陵科技学院实验报告

public static void main(String[] args){

SuperMarket mak = new SuperMarket();

mak.add(new Book(“Java”, 2, 30.9f));

mak.add(new Book(“C++”, 3, 10.9f));

mak.add(new Book(“JSP”, 5, 80.9f));

print(mak.search(“J”));

mak.remove(new Book(“Java”, 2, 30.9f));

print(mak.search(“J”));}

public static void print(List all){

Iterator iter = all.iterator();

while(iter.hasNext()){

System.out.println(iter.next());

} } } 对照范例写出如下题目:

(1)宠物商店,要求可以添加、删除和查找宠物(2)实现以下两个关系

A、一个学校可以有多个学生,所有学生属于一个学校

B、一门课程可以有多个学生选,一个学生可以选多门课程

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: Java IO操作

实验学时: 6 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验3 Java IO操作

一、实验目的和要求

(1)理解输入输出流概念(2)掌握文件输入输出流

(3)掌握键盘的输入、显示器的输出(4)理解其他输入输出流

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、编写类模拟命令Copy

范例:实现文件的复制代码。参考代码如下:

File file1 = new File(“d:”+File.seperator +”demo.txt”);

// 找到第一个文件的File对象

File file2 = new File(“d:”+File.seperator +”cemo.txt”);// 找到目标文件路径 InputStream input = new FileInputStream(file1);// 输入流 OutputStream output = new FileOutputStream(file2);// 输出流 int temp = 0;// 定义一个整数表示接收的内容

while((temp = input.read())!=-1){ // 表示还有内容可以继续读

output.write(temp);// 写入数据 } input.close();// 关闭 output.close();// 关闭

2、通过键盘的输入,实现简单的选项操作。

*********XXXX管理系统***********

[1]添加

[2]删除

[3]修改

[4]查询

[5]退出

3、编写一个简单管理系统,实现真实的操作。

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: JDBC

实验学时: 6 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验4 JDBC

一、实验目的和要求(1)理解JDBC分类

(2)掌握JDBC数据库连接步骤

(3)掌握JDBC连接MySQL数据库代码(4)理解JDBC连接其他数据库方式

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、安装MySQL数据库,配置好数据库

创建一个数据库表,按要求给出详细的字段设计

pid name age birthday salary

主要操作:

2、创建Eclipse项目,配置驱动包

每个数据库厂商都会提供对Java开发技术的支持,即都会提供对应的Java驱动,也就是一个jar包

主要操作:

3、项目中建立一个详细例子,按照要求连接、操作、关闭数据库

按照标准的步骤完成对MySQL数据库的操作

主要代码:(添加、修改、删除和查询)

金陵科技学院实验报告

4、试着连接其他类型数据库。

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

第五篇:Java程序设计实验

学 生 实 验 报 告 册

课程名称:

学生学号:

所属院部:

(理工类)

专业班级:

学生姓名:

指导教师: ——20 学年 第 学期

金陵科技学院教务处制

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。

实验报告书写说明

实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

金陵科技学院实验报告

实验项目名称: 面向对象编程实验 实验学时: 8 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验1 面向对象编程实验

一、实验目的和要求

(1)理解Java概念、掌握JDK环境配置(2)熟悉Java开发过程

(3)掌握Java面向对象编程基础:封装、继承、多态(4)掌握Java接口编程,理解开发模式

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、JDK环境配置

2、面向对象的封装性

范例:设计一个表示学生的类,里面有学生的三项成绩:计算机成绩、数学成绩、英语成绩。要求可以求总分、平均分、最高分、最低分,并且可以输出一个学生的完整信息。代码如下: class Student{ private String name;private int age;private float english;private float computer;private float math;public Student(){} public Student(String n,int a,float e,float c,float m){

this.setName(n);

this.setAge(a);

this.setEnglish(e);

this.setComputer(c);

this.setMath(m);} public float sum(){

return english + computer + math;} public float avg(){

return this.sum()/ 3;} public float max(){

float max = computer>math?computer:math;

max = max>english?max:english;

return max;} public float min(){

float min = computer

min = min

return min;

金陵科技学院实验报告

} public String getInfo(){

return “学生信息: n” +

“t|-姓名:” + this.getName()+ “n” +

“t|-年龄:” + this.getAge()+ “n” +

“t|-数学成绩:” + this.getMath()+ “n” +

“t|-英语成绩:” + this.getEnglish()+ “n” +

“t|-计算机成绩:” + this.getComputer();} public void setName(String n){

name = n;} public void setAge(int a){

age = a;} public void setEnglish(float e){

english = e;} public void setComputer(float c){

computer = c;} public void setMath(float m){

math = m;} public String getName(){

return name;} public int getAge(){

return age;} public float getEnglish(){

return english;} public float getComputer(){

return computer;} public float getMath(){

return math;} } public class ExecDemo{ public static void main(String args[]){

Student stu = new Student(“张三”,30,89.0f,91.0f,87.0f);

System.out.println(“总分:” + stu.sum());

金陵科技学院实验报告

}

} System.out.println(“平均分:” + stu.avg());System.out.println(“最高分:” + stu.max());System.out.println(“最低分:” + stu.min());System.out.println(stu.getInfo());对照范例写出如下题目:

(1)编写并测试一个代表地址的Address类,包括以下的属性:国家、省份、城市、街道、邮编。注意:

1、体现封装

2、构造方法(最少2个)

3、要有输出(可以从此地址类中得到一个完整的地址信息)。

4、测试 主类 main

(2)定义并测试一个代表员工的Employee类。它的属性包括“员工姓名”、“员工号码”、“员工基本薪水”;它的方法包括“构造方法”、“获取员工姓名”、“获取员工号码”、“获取员工基本薪水”、“设置姓名”、“设置员工号码”、“设置基本薪水”。测试(3)、定义一个圆形类(半径属性),封装、构造、整个输出、可以返回圆的面积与周长。测试

(4)、思考设计:一个人有一本书,一本书属于一个人。

3、面向对象的继承性

范例:要求定义一个数组类Array,里面定义了一个整型数组,但是此整型数组属于动态分配大小,即:所有的大小由程序指定,并在此基础上实现以下的两个子类:

反转类:可以将数组的内容反转排列

排序类:可以对数组进行排序的操作 class Array{ private int temp[] = null;// 只是声明数组,但是大小未知

private int foot = 0;// 用于保存下一个的记录点

public Array(int len){

if(len>0){

this.temp = new int[len];// 此时大小由外部决定

}else{

this.temp = new int[1];// 至少开辟一个空间

} } public boolean add(int i){ // 加入数据操作

if(this.foot

this.temp[this.foot] = i;// 加入内容

this.foot++;// 改变长度

return true;// 加入成功返回true

}else{

return false;// 加入失败

} } public int[] getArray(){ // 返回全部的数组

return this.temp;}

金陵科技学院实验报告

} class SortArray extends Array{ public SortArray(int len){

super(len);} public int[] getArray(){

java.util.Arrays.sort(super.getArray());// 排序操作

return super.getArray();// 返回的是排序后的内容

} } class ReverseArray extends Array{ public ReverseArray(int len){

super(len);} public int[] getArray(){

int rt[] = new int[super.getArray().length];// 根据大小开辟新数组

int count = rt.length-1;

for(int x=0;x

rt[count] = super.getArray()[x];

count--;

}

return rt;} } public class ArrayDemo{ public static void main(String args[]){

ReverseArray arr = new ReverseArray(6);

System.out.println(arr.add(3));

System.out.println(arr.add(23));

System.out.println(arr.add(1));

System.out.println(arr.add(5));

System.out.println(arr.add(6));

System.out.println(arr.add(8));

System.out.println(arr.add(11));

System.out.println(arr.add(16));

print(arr.getArray());} public static void print(int i[]){

for(int x=0;x

System.out.print(i[x] + “、”);

} } }

金陵科技学院实验报告

对照范例写出如下题目:

(1).创建GrandFather类,其中包括

a)属性:姓名(name),年龄(age)

b)方法getGrandFather():显示爷爷的信息

c)构造方法:给爷爷的姓名,年龄赋值(2).创建Father类,继承Grandfather类 a)属性:除了继承爷爷的属性以外,还要增加自己的属性:“职业”(occupation)b)构造方法:显式调用父类的构造方法,为Father类的姓名和年龄赋初始值。再为职业输入初始值。

c)方法getFather(): 显示父亲的相关信息

(3).创建ClassMain()类,定义main()方法,构造GrandFather类的对象和Father类的对象,并分别显示详细信息。

3、面向对象多态性

范例:计算柱体的体积。柱体体积计算公式是:底部面积乘以高度 柱体底部分为 圆形和矩形 要求:通过抽象类和多态实现 package cn.jit.demo;abstract class Bottom { //父类抽象类 底部

public abstract double calculatorArea();} class CircleBottom extends Bottom{ //圆形底

/** * 半径

*/ private double radius;

@Override public double calculatorArea(){

return Math.PI * radius * radius;} public double getRadius(){

return radius;} public void setRadius(double radius){

this.radius = radius;} public CircleBottom(double radius){

super();

this.radius = radius;} } class SquareBottom extends Bottom{ //矩形底

private double sideA;

金陵科技学院实验报告

private double sideB;public double getSideA(){

return sideA;} public void setSideA(double sideA){

this.sideA = sideA;} public double getSideB(){

return sideB;} public void setSideB(double sideB){

this.sideB = sideB;} @Override public double calculatorArea(){

return sideA * sideB;} public SquareBottom(double sideA, double sideB){

super();

this.sideA = sideA;

this.sideB = sideB;} } class ZhuTi { //柱体类,完成形状的拼装

/** * 底

*/ private Bottom bottom;/** * 高

*/ private double height;/** * 计算体积

* @return */ public double calculatorVolumn(){

return bottom.calculatorArea()* height;} public ZhuTi(Bottom bottom, double height){

super();

this.bottom = bottom;

this.height = height;

金陵科技学院实验报告

} public Bottom getBottom(){

return bottom;} public void setBottom(Bottom bottom){

this.bottom = bottom;} public double getHeight(){

return height;} public void setHeight(double height){

this.height = height;} public void changeBottom(Bottom bottom){

this.bottom = bottom;} } public class VolumnTest { //测试类

public static void main(String[] args){

Bottom bottom = new CircleBottom(1.0);

double height = 1.0;

ZhuTi zhuTi = new ZhuTi(bottom,height);

double result = zhuTi.calculatorVolumn();

System.out.println(“圆柱体的体积是:” + result);

bottom = new SquareBottom(1.0,1.0);

zhuTi.changeBottom(bottom);

result = zhuTi.calculatorVolumn();

System.out.println(“立方体的体积是:” + result);} } 范例:接口和多态的应用,例如:电脑上实现了USB接口,U盘,打印机等等也都实现了此标准。interface USB{ public void start();// 开始工作

public void stop();// 结束工作 } class Computer{ public static void plugin(USB usb){

usb.start();

usb.stop();} };class Flash implements USB{ public void start(){

金陵科技学院实验报告

System.out.println(“U盘开始工作。”);} public void stop(){

System.out.println(“U盘停止工作。”);} };class Print implements USB{ public void start(){

System.out.println(“打印机开始工作。”);} public void stop(){

System.out.println(“打印机停止工作。”);} };public class InterPolDemo02{ public static void main(String args[]){

Computer.plugin(new Flash());

Computer.plugin(new Print());} };对照范例,写出以下程序:(1)乐器(Instrument)的标准为弹奏(play),而乐器类型分为:钢琴(Piano)和小提琴(Violin),各种乐器的弹奏方法各不同。编写代码实现不同乐器的弹奏。(2)计算机模拟

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: 类集

实验学时: 4 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验2 类集

一、实验目的和要求(1)理解类集概念

(2)熟悉Collection接口、List接口、Set接口和Map接口(3)掌握ArrayList类、HashSet类和TreeSet类(4)理解TreeMap、HashMap

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、类集应用

范例:实现一个超市管理系统,要求可以添加货物,删除货物和查询货物:

。代码如下:

public interface Goods { public String getName();// 得到商品名称

public int getCount();// 得到商品数量

public float getPrice();// 得到商品价格 }

public class Book implements Goods {

private String name;private int count;private float price;

public Book(){ }

public Book(String name, int count, float price){

this.name = name;

this.count = count;

this.price = price;}

public String getName(){

return name;}

public void setName(String name){

this.name = name;

金陵科技学院实验报告

}

public int getCount(){

return count;}

public void setCount(int count){

this.count = count;}

public float getPrice(){

return price;}

public void setPrice(float price){

this.price = price;}

public boolean equals(Object obj){

if(this == obj){

return true;

}

if(!(obj instanceof Book)){

return false;

}

Book b =(Book)obj;

if(b.name.equals(this.name)&& b.count == this.count

&& b.price == this.price){

return true;

} else {

return false;

} }

public int hashCode(){

return this.name.hashCode()+ new Integer(this.count).hashCode()

+ new Float(this.price).hashCode();}

public String toString(){

return “书名:” + this.name + “;书的价格:” + this.price + “;书的数量:”

+ this.count;}

金陵科技学院实验报告

}

import java.util.ArrayList;import java.util.Iterator;import java.util.List;

public class SuperMarket { private List allGoods;

public SuperMarket(){

this.allGoods = new ArrayList();}

public void add(Goods goods){

this.allGoods.add(goods);}

public void remove(Goods goods){

this.allGoods.remove(goods);}

public List search(String keyWord){

List temp = new ArrayList();

Iterator iter = this.allGoods.iterator();

while(iter.hasNext()){

Goods g = iter.next();

if(g.getName().indexOf(keyWord)!=-1){

temp.add(g);

}

}

return temp;}

public List getAllGoods(){

return this.allGoods;} }

import java.util.Iterator;import java.util.List;

public class Test {

金陵科技学院实验报告

public static void main(String[] args){

SuperMarket mak = new SuperMarket();

mak.add(new Book(“Java”, 2, 30.9f));

mak.add(new Book(“C++”, 3, 10.9f));

mak.add(new Book(“JSP”, 5, 80.9f));

print(mak.search(“J”));

mak.remove(new Book(“Java”, 2, 30.9f));

print(mak.search(“J”));}

public static void print(List all){

Iterator iter = all.iterator();

while(iter.hasNext()){

System.out.println(iter.next());

} } } 对照范例写出如下题目:

(1)宠物商店,要求可以添加、删除和查找宠物(2)实现以下两个关系

A、一个学校可以有多个学生,所有学生属于一个学校

B、一门课程可以有多个学生选,一个学生可以选多门课程

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: Java IO操作

实验学时: 6 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验3 Java IO操作

一、实验目的和要求

(1)理解输入输出流概念(2)掌握文件输入输出流

(3)掌握键盘的输入、显示器的输出(4)理解其他输入输出流

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、编写类模拟命令Copy

范例:实现文件的复制代码。参考代码如下:

File file1 = new File(“d:”+File.seperator +”demo.txt”);

// 找到第一个文件的File对象

File file2 = new File(“d:”+File.seperator +”cemo.txt”);// 找到目标文件路径 InputStream input = new FileInputStream(file1);// 输入流 OutputStream output = new FileOutputStream(file2);// 输出流 int temp = 0;// 定义一个整数表示接收的内容

while((temp = input.read())!=-1){ // 表示还有内容可以继续读

output.write(temp);// 写入数据 } input.close();// 关闭 output.close();// 关闭

2、通过键盘的输入,实现简单的选项操作。

*********XXXX管理系统***********

[1]添加

[2]删除

[3]修改

[4]查询

[5]退出

3、编写一个简单管理系统,实现真实的操作。

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

金陵科技学院实验报告

实验项目名称: JDBC

实验学时: 6 同组学生姓名: 实验地点: 实验日期: 实验成绩: 批改教师: 批改时间:

金陵科技学院实验报告

实验4 JDBC

一、实验目的和要求(1)理解JDBC分类

(2)掌握JDBC数据库连接步骤

(3)掌握JDBC连接MySQL数据库代码(4)理解JDBC连接其他数据库方式

二、实验仪器和设备

奔腾以上个人计算机,windows操作系统。

配置好JDK环境,安装集成开发环境(Eclipse)

三、实验内容与过程

1、安装MySQL数据库,配置好数据库

创建一个数据库表,按要求给出详细的字段设计

pid name age birthday salary

主要操作:

2、创建Eclipse项目,配置驱动包

每个数据库厂商都会提供对Java开发技术的支持,即都会提供对应的Java驱动,也就是一个jar包

主要操作:

3、项目中建立一个详细例子,按照要求连接、操作、关闭数据库

按照标准的步骤完成对MySQL数据库的操作

主要代码:(添加、修改、删除和查询)

金陵科技学院实验报告

4、试着连接其他类型数据库。

四、实验结果与分析(程序运行结果及其分析)

五、实验体会

下载java实验4(共5篇)word格式文档
下载java实验4(共5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    Java Web实验教案

    Java Web实验教案 宋国柱 2012-2-20 实验一 tomcat服务器下载与配置及Myeclipse简介 1. 实验目标  掌握tomcat服务器的配置及使用  掌握Myeclipse开发工具 2. 知识讲解 一......

    java实验报告实验2答案(共5篇)

    互联网软件应用与开发实验指导书 实验二 熟悉Applet,GUI编程 实验目的: 本实验旨在巩固同学们对上课所讲Applet,异常处理,java的控制加深理解,图形用户界面基本组件窗口、按钮、......

    java实验 报告(写写帮整理)

    专业选修课程实验(1)实验报告 课程名称____ JAVA程序设计 学生学院__ 计算机学院______ 专业班级___ 12计科6班 学 号____ 3112006006 学生姓名____ 黄新健 指导教师______......

    河南工业大学java实验四

    Henan University of Technology Experiment’s Report 班级计科1201 姓名: 学号201216010506 成绩实验4—— Java的输入机制 I 实验目的 (1) . Java如何操作文件 (2) .了解J......

    Java及Javaweb(jsp)实验1

    实验1:Java类与对象 一、实验目的 (1)掌握Java类的继承关系和派生方法。 (2)理解多态的概念与使用。 (3)掌握接口的定义和使用。 二、实验任务 (1)按要求编写一个Java程序。 (2)按要求......

    Java实验8实习报告.

    实验题 1 学生信息管理函数。 数据库中的信息参考 Exp9.1.txt , 这些命令用来创建 student 表, 包含学生的学号、 姓名、 年龄信息。 ① 根据学号,可以查询到学生的姓名和年......

    java流实验内容及代码

    实验7 流(2学时) 一、实验目的 1. 熟悉流类库中各种常用流的使用方法。 2. 能够使用流类实现基本的文件读写。 二、实验内容 1. 编写程序,在控制台窗口提示输入两个整数,然后接......