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));
1、实验一:多线程程序设计:炮打飞机
实验目的:学会使用多线程进行并发程序设计
实验内容:编写一个应用程序模拟大炮打飞机。在GUI界面上,飞机水平飞行,用界面上的按钮控制大炮的运行方向(如向左,向右,向上,向下)。当炮弹碰着飞机后,飞机坠落。
2、实验二:数据库编程:书目信息管理
实验目的:掌握数据库编程技术。能正确连接数据库,能对数据库中信息进行查询、插
入、删除、修改。
实验内容:在数据库中创建一张书目信息表,包括书名、作者、出版社、出版日期、书
号、价格字段。设计一个GUI界面进行书目管理。在该界面上有四个选项卡,分别是查询、插入、删除、修改。点击查询选项卡,出现的界面上有书名、作者、出版社、书号四个文本框,一个按钮和一个只读文本区。文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的“查询”按钮,可以在界面下方的文本区中显示出符合条件的书目详细信息。点击插入选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。在文本框中输入信息后,点击“插入”按钮,该书目信息插入数据库表中。点击删除选项卡,出现的界面上有书名文本框和一个按钮,输入书名后点击“删除”按钮,该书目信息从数据库表中删除。点击修改选项卡,出现的界面上有书名、作者、出版社、出版日期、书号、价格文本框,一个按钮。输入的书名必须是已存在的,否则会弹出消息框显示出错信息。输入信息后,点击“修改”按钮,数据库表中的相应书目信息被修改为新值。
3、实验三:Applet编程:鸭子的移动
实验目的:掌握Applet程序设计的方法,学会在Applet中绘制图片,能采用双缓冲技术进行图片绘制,会在Applet中采用多线程进行动画显示。能在Applet中实现动画的平滑显示,避免闪烁现象。
实验内容:在Applet窗口中显示一只鸭子图片,要求这只鸭子以每秒100帧的速率水平移动,移到窗口边界再返回移动。在窗口中点击鼠标,鸭子停止移动;再次点击鼠标,鸭子恢复移动。
4、实验四:网络编程:聊天室的实现
实验目的:会编写客户端和服务器程序实现C/S模式下的通信,会使用多线程进行网络编程。
实验内容:编写一个聊天室程序:客户端界面请自行设计,可使其具有个性化特征; 可在实现基本的聊天室功能的基础上添加个性化的功能。
实验
一、简单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(113151719111)来取得的近似值。并计算在得到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、编写一个模拟画图的程序,用户可以选择绘图的图形,如“线”、“矩形”、“圆”、“椭圆”等,选择后即可在屏幕上移动鼠标画图。(提示:选择图形可以使用单选按钮组,画图需要处理鼠标事件。)
学 生 实 验 报 告 册
课程名称:
学生学号:
所属院部:
(理工类)
专业班级:
学生姓名:
指导教师: ——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