[工学]《java程序设计》实验指导书09高职_第1页
[工学]《java程序设计》实验指导书09高职_第2页
[工学]《java程序设计》实验指导书09高职_第3页
[工学]《java程序设计》实验指导书09高职_第4页
[工学]《java程序设计》实验指导书09高职_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、山东信息职业技术学院java实验报告实验一 java实验环境的建立一、实验目的1掌握java编程环境的搭建过程;2掌握jcreator pro软件的使用方法;3能使用java doc文档。二、实验内容1下载并安装jdk1.6,配置jdk环境变量;2下载javadoc压缩包并解压在jdk安装路径下;3下载jcreator pro 4.0并安装和配置使用环境;4使用实验环境运行书中实例代码,在屏幕上输出“hello java”字符串。java application程序代码如下:public class hellojava public static void main(string args)

2、system.out.println(hello java!); java applet程序代码如下:import java.awt.*;public class hello extends java.applet.applet public void paint(graphics g) g.drawstring(hello!,30,30); 三、试验要求1、预习试验内容并写出上机报告。2、实验中出现的问题及实验体会。实验二 java语言程序设计训练一、实验目的:1输入、输出操作实现原理和方法2掌握程序流程控制的实现方法3掌握数组的定义和操作方法二、实验内容1.计算 result=1!+2!+

3、3!+10!2.计算1-50之间所有素数的和。3. 产生10个100之内的随机整数输出,并把这10个数按从小到大的顺序输出。4. 随机产生20个50100间的整数,输出这20个数并找出最大数及最小数输出。5试编写程序,实现求几何形状(长方形、正方形、圆形)的周长、面积。(可任选其一)6.验证书中的例题。三、试验要求1、预习试验内容并写出上机报告。2、实验中出现的问题及实验体会。实验三 面向对象的程序设计(一)一、实验目的1 熟悉类的创建方法。2 掌握对象的声明与创建。3 能利用面向对象的思想解决一般问题。二、实验内容1 以下程序能否通过编译?上机验证并指明错误原因与改正方法class loca

4、tionprivate int x,y;public void location(int a,int b) x=a; y=b;public int getx()return x;public int gety()return y;public static void main(string args)location loc=new location(12,20);system.out.println(loc.getx();system.out.println(loc.gety(); 2.创建一个图书类,类中包含的属性有:书名、作者、出版社;包含的方法有:设置书籍状态,查看书籍状态。书籍状态有

5、在馆和外借两种。3. 设计一个birthday类,其成员变量有:year,month,day;提供构造方法、输出birthday对象值的方法和计算年龄的方法。编写程序测试这个类。4(选作)编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师数据操作类teacher的基类。5.验证书中的例题。三、实验要求1 事先预习,写出预习报告2 上机后写出实验报告实验四 面向对象的程序设计(二)一、实验目的1.熟悉类的定义2.掌握对象的声明、实例化及成员的引用3.

6、掌握构造方法及实例方法的区别与用法二、实验内容 1.编写一个类,描述汽车,其中用字符型描述车的牌号,用浮点型描述车的价格。编写一个测试类,其中有一个修改价格的方法,对汽车对象进行操作,根据折扣数修改汽车的价格,最后在main()方法中输出修改后的汽车信息。2. 设计一个银行帐户类,成员变量包括账号、储户姓名、开户时间、身份证号码、存款余额等帐户信息,成员方法包括存款、取款操作。编写一个java程序,设计一个汽车类vehicle,包含的属性有车轮的个数wheels和车重weight。小汽车类car是vehicle的子类,包含的属性有载人数loader。卡车类truck是car类的子类,其中包含的

7、属性有载重量payload。每个类都有构造方法和输出相关数据的方法。3. 编写一个java程序,设计一个汽车类vehicle,包含的属性有车轮的个数wheels和车重weight。小汽车类car是vehicle的子类,包含的属性有载人数loader。卡车类truck是car类的子类,其中包含的属性有载重量payload。每个类都有构造方法和输出相关数据的方法。4. 验证书中的例题。三、实验要求1.事先预习,写出预习报告2.上机后写出实验报告40实验五 面向对象综合实验一、实验目的1熟悉类的定义;2掌握对象的声明、实例化及成员的引用;3掌握构造方法及实例方法的区别与用法。二、实验内容多数用户对去

8、银行办理存款、取款等业务并不默生,用户自然感觉到了通过计算机办理业务的方便、快捷,也自然对编写出银行系统程序的程序员发出由衷的敬意。实际上,当我们具备了面向对象编程的知识以后,我们也能编写出相应的程序。程序框架如下,将代码补充完整:package bank; /创建程序包import java.util.*; /引入程序包class bankcount /定义类int id; string name,date; float money; public bankcount(int id,string name,string date,float money) /构造方法/方法体 class bc

9、optionvector vec=new vector(); /对象声明与实例化 static int count=0; /类中静态变量的定义 public void kaihu(bankcount bc) /方法体,实现开户功能 /实例方法 public void moneyout(int id, float outmoney) /方法体,实现取钱功能 public void moneyin(int id, float inmoney) /方法体,实现存钱功能 public void query(int id) /方法体,查询并输出账户信息 public static void main(s

10、tring args) /实现账户的相关操作 三、实验要求1、根据题目要求完成程序中没有完成的模块。2、写好上机报告。实验六 异常处理一、实验目的1熟悉异常的抛出与捕获的含义;2掌握异常捕获与处理的方法;3能自定义异常。二、实验内容现在多数学校的成绩管理都由计算机进行管理,这就需要有相应的应用程序。编写成绩管理应用程序,其中有成绩录入模块,成绩录入过程中,难免出现录入数据的类型出现错误,或录入的成绩不在合理的范围。在成绩录入过程中,若出现上述错误,程序应该如何处理。程序框架如下,将代码补充完整:class 负分异常 extends exception /当录入了负分时。此处应用了自定义异常cl

11、ass 高分异常 extends exception /当录入分超过100时。应用了自定义异常public class exceptiondemostatic final int number=2;int score=new intnumber;public void 检查分数(int 分数) throws 负分异常,高分异常 /下面方法中判断如果录入的成绩不合理,则抛出异常,但本方法并不处理异常,仅声明了异常if(分数 100) throw new 高分异常(); /通过throw,人工抛出异常 if(分数 0) throw new 负分异常();public void 录入成绩() int

12、 i;for(i=0;inumber;i+) tryscorei=integer.parseint(joptionpane.showinputdialog(请输入第+(i+1)+个同学的成绩); catch(numberformatexception e) /在try.catch间的语句中若产生异常,则捕获异常,直接进行异常处理 try 检查分数(scorei); /在检查分数模块中,可能产生高分异常对象,也可能产生低分异常对象,根据不同情况,进行不同处理catch(高分异常 e)catch(负分异常 e) public void 输出成绩()public static void main(s

13、tring arg)exceptiondemo demo = new exceptiondemo();demo.录入成绩();demo.输出成绩();三、实验要求1、根据题目要求完成程序中没有完成的模块。2、写好上机报告。实验七:图形用户界面设计(一)一、 实验目的:1 巩固图形用户界面设计的方法2 掌握事件处理的设计方法二、 实验内容:1绘制如下形式的图形界面,要求:窗体背景为蓝色,中间为黄色方格。2. 编写程序,绘制如下格式的界面:3编写程序,创建如下图所示的图形界面(不必为组件提供功能)。4.验证书中例题。三、 实验要求:1 事先预习,写出预习报告2 上机验证后写出实验报告实验八 图形用

14、户界面设计(二)一、实验目的1掌握各种组件的用法;2掌握布局管理器的布局方式;3掌握事件处理机制。二、实验内容1验证书中例题。2.试创建如下图所示的图形用户界面,颜色列表框为红色、绿色和蓝色。3编写程序,创建如下图所示的图形界面。(要求实现功能)三、实验要求1、根据题目要求完成各程序。2、写好上机报告。实验九 图形用户界面设计(三)一、实验目的1掌握各种组件的用法;2掌握布局管理器的布局方式;3掌握事件处理机制。4. 熟悉绘图类的基本用法5掌握绘图类中常用的绘图方法二、实验内容1验证书中例题:p200页 例6.5、p209页 例6.6。2设计一个程序,程序执行时,随机产生一条直线、一个矩形、一

15、个椭圆,并且每个图形的颜色不同。(说明:可利用系统类math中的静态方法random(),该方法产生一个01间的小数)3设计如下形式的窗口,并实现窗口的关闭功能:4. 设计如下形式的窗口,并实现窗口的关闭功能: 三、实验要求1、根据题目要求完成各程序。2、写好上机报告。实验十:图形用户界面综合设计一、 实验目的:1、 巩固图形用户界面设计的方法2、 掌握事件处理的设计方法二、 实验内容:案例 学生信息注册界面设计解析多数学校的学生档案信息都由计算机进行管理,在编写的档案管理应用程序中,有档案信息录入模块,该模块的功能是在图形化的界面下,用户把信息输入到计算机中。录入界面的大致样式及组件名称如图

16、。图5-1 信息录入界面设计上述程序界面并实现相应的功能,程序框架如下,补全代码:public class inputdata implements actionlistenerframe f; /声明框架对象label l1,l2,l3,l4; /声明标签对象textfield t; /声明文本行对象checkbox r1,r2; /声明单选钮对象checkboxgroup g; /声明组对象checkbox c1,c2,c3;choice ch; /声明选择框对象button b; /声明按钮对象textarea ta; /声明文本区对象panel p1,p2,p3,p4,p5; /声明面

17、板对象int i=0;public inputdata()/对象实例化;f=new frame(信息录入);ch.add(济南); /添加选择项p1=new panel(); p1.setlayout(new flowlayout(flowlayout.left); /设定面板布局样式p1.add(l1); /面板中加入组件f.setlayout(new gridlayout(2,1); /设定框架布局样式f.addwindowlistener(new windowadapter() /注册事件监听器,匿名类实现接口);f.setvisible(true);public void action

18、performed(actionevent e) /事件处理接口实现 /把输入内容显示到文本区中; public static void main(string args)new inputdata();三、 实验要求:1、 事先预习,写出预习报告2、 上机验证后写出实验报告实验十一 多线程技术一、实验目的1理解多线程编程技术的概念;2掌握多线程创建的方法;3掌握多线程在实际应用开发程序中的使用。二、实验内容案例 动画显示解析动画显示是多媒体技术的一个主要方面,如今动画制作也是日常工作中经常要用到的,实现动画技术的方法也非常多,利用多线程的技术方法可以解决动画显示的一些实现问题, 动画原理:在

19、applet中加载若干幅表现不同状态的图片,利用线程按顺序切换图片实现动画效果。下载图片时,使用了图像跟踪技术。尝试实现功能,补全代码。1、程序代码:import java.awt.*;import java.applet.applet;public class animation extends applet implements runnableimage images; /图像数组mediatracker tracker; /图像跟踪对象变量int index=0; /图像索引thread animator; /线程变量image offscrimage; /用于图像缓冲的图像对象变量g

20、raphics offscrgc; /图像对象变量int total=5; /图片总数public void init()tracker=new mediatracker(this); /建立图像跟踪对象images=new imagetotal; /建立数组 tryoffscrimage=createimage(getwidth(),getheight(); /建立用于缓冲的对象offscrgc=offscrimage.getgraphics(); /取出图像对象offscrgc.setcolor(getbackground();offscrgc.fillrect(0,0,getwidth(

21、),getheight(); /用背景色画矩形 catch(exception e)e.printstacktrace();for(int i=0;itotal;i+) /载入图像,并利用跟踪对象跟踪 trytracker.waitforall(); /等待全部图像载入完 catch(interruptedexception e)public void start() /在缓冲区准备好第一幅图并建立线程、启动线程 public void run()tryanimator.sleep(200); /休眠等待200毫秒 catch(interruptedexception e) repaint()

22、; /调用重画方法public void paint(graphics g)public void update(graphics g) /重写update()方法防止闪烁 public void stop()if(animator!=null)animator=null; /清除对象,停止线程2、applet程序运行,编写html文件:三、实验要求:1、事先预习,写出预习报告 2、上机验证后写出实验报告实验十二:applet程序设计一实验目的:1熟悉applet程序的编写与运行2掌握html文件与applet间参数的传递3.掌握在applet中输出图像与声音二实验内容:1设计用户邮箱登录界面

23、。(如下所示)2请编写一个applet,用它的html文件中给出的两个整型参数作加数,求它们的和,并显示结果。3准备好几个音乐文件和一幅图像,编写一个applet,显示一幅图像并添加“播放”、“循环”、“停止”三个按钮,用于控制音乐文件的播放。4验证书中例题。三、试验要求1、预习试验内容并写出上机报告。2、实验中出现的问题及实验体会。实验十三 输入输出(一)一、实验目的:1理解java输入输出的实现机制;2掌握常用的输入输出类的功能及方法;3掌握常用数据类型针对文件的输入输出方式。二、实验内容:1 double型数组中保存有如下数据:1.23,69.88,34.45,67.98,2345.67

24、。将数据以二进制形式保存到文件中去。2编程将以上数据以可打印形式保存到文件中去。3读入网页的内容,并以可读形式将其输出到一个文件中去。三、试验要求:1、预习试验内容并写出上机报告。2、实验中出现的问题及实验体会。实验十四 输入输出(二)一、实验目的1理解java输入输出的实现机制;2掌握常用的输入输出类的功能及方法;3掌握常用数据类型针对文件的输入输出方式。二、实验内容案例 记事本程序设计解析我们经常使用记事本来记录、保存一些数据、文字,或者打开以前创建的文件进行操作。把我们编辑好的内容存入文件就是输出。而打开原有的文件的内容则是输入。程序主界面如图1所示。当点击打开按钮则弹出打开文件对话框如

25、图2所示。当选择文本文件后,将文本文档的内容显示在文本区中如图3所示。同理,当在文本区中编辑好内容后,点击保存按钮,则弹出文本保存对话框,选择保存位置后可将内容保存到文件中去。试尝试实现此功能。图1 记事本界面 图2 打开文件对话框 图3 显示文件内容源代码如下,补全代码:1界面程序:import java.awt.*;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;public class frame1 extends jframe implements actionlistene

26、r jpanel contentpane; jscrollpane jscrollpane1 = new jscrollpane(); borderlayout borderlayout1 = new borderlayout(); jpanel jpanel1 = new jpanel(); jtextarea jtextarea1 = new jtextarea(); jbutton jbutton1 = new jbutton(); jbutton jbutton2 = new jbutton();/窗口的构造方法 public frame1() /jbinit()方法完成界面的初始化设

27、置 private void jbinit() throws exception /保存、打开两个按钮的事件处理方法 public void actionperformed(actionevent e) /如果用户点击保存按钮 /如果用户点击打开按钮 if(e.getsource()= =jbutton2) jtextarea1.settext(); jfilechooser fc=new jfilechooser(); try catch(exception ex) system.out.print(ex.tostring(); 2主程序:import java.awt.*;import j

28、avax.swing*;public class application1 public application1( ) frame1 frame = new frame1(); / 使窗口居中 dimension screensize = toolkit.getdefaulttoolkit().getscreensize(); dimension framesize = frame.getsize(); if (framesize.height screensize.height) framesize.height = screensize.height; if (framesize.wid

29、th screensize.width) framesize.width = screensize.width; frame.setlocation( (screensize.width - framesize.width) / 2, (screensize.height - framesize.height) / 2); frame.setvisible(true); /主程序的main()方法 public static void main(string args) new application1( ); 三、试验要求1、预习试验内容并写出上机报告。 2、实验中出现的问题及实验体会。实验

30、十五 网络通信一、实验目的1理解网络通信的原理和常用通信技术的概念;2掌握基于tcp协议的套接字的网络编程方法3掌握网络通信在实际应用开发程序中的应用。二、实验内容案例 聊天程序解析通过建立一个socket客户端和一个serversocket服务端进行实时数据交换。运行时先打开服务器端,然后再打开客户端,单击客户端的“连接服务器”按钮将与服务器建立连接;连接之后,双方在各自图形界面的文本框中填写要发送的信息,然后单击 “send”按钮,就可以进行通信了。程序运行结果如图1所示。整个程序分成客户端和服务器端两大部分,分别保存成client.java和server.java两个文件。 图1 聊天程

31、序运行界面(客户端和服务器端)1.客户端程序代码:import .*;import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;class client extends jframe implements actionlistenersocket sock; /定义套接字对象jtextarea t1=new jtextarea();jtextfield t2=new jtextfield(20);jbutton b1=new jbutton(send);jbutton b2=new jbutt

32、on(连接服务器);dataoutputstream out; /定义数据输出流datainputstream in; /定义数据输出流public client()jscrollpane jsp=new jscrollpane(t1);this.getcontentpane().add(jsp,center);jpanel p1=new jpanel();p1.add(t2); p1.add(b1);jpanel p2=new jpanel();p2.add(b2);this.getcontentpane().add(p2,north);this.getcontentpane().add(p

33、1,south);b1.addactionlistener(this); b2.addactionlistener(this);settitle(客户端); setsize(340,200); setvisible(true);addwindowlistener(new windowadapter()public void windowclosing(windowevent e);public void actionperformed(actionevent e)elsepublic static void main(string agrs)client mainframe=new clien

34、t();class communnion extends threadclient fp;communnion(client fp)this.fp=fp;public void run()string msg=null;while(true)tryfp.out.close(); /关闭socket输出流fp.in.close(); /关闭socket输入流fp.sock.close(); /关闭socket catch(exception ee)2.服务器端代码:import .*;import java.io.*;import java.awt.*;import java.awt.event

35、.*;import javax.swing.*;class server extends jframe implements actionlistenerserversocket serversock; /定义服务器套接字socket sock; /定义客户套接字jtextarea t1=new jtextarea();jtextfield t2=new jtextfield(20);jbutton b1=new jbutton(send);dataoutputstream out; /定义数据输出流datainputstream in; /定义数据输入流string cname=null;p

36、ublic server()jscrollpane jsp=new jscrollpane(t1);this.getcontentpane().add(jsp,center);jpanel p1=new jpanel();p1.add(t2);p1.add(b1);this.getcontentpane().add(p1,south);b1.addactionlistener(this);settitle(服务器);setsize(340,200);setvisible(true);try sock=serversock.accept(); /使用accept()阻塞等待客户请求, /有客户请

37、求到来则产生一个socket对象,并继续执行out=new dataoutputstream(sock.getoutputstream(); /由socket对象得到输入流,并构造相应的dataoutputstream对象in=new datainputstream(sock.getinputstream(); /由socket对象得到输出流,并构造datainputstream对象out.writeutf(你连接服务器成功); / 给客户反馈信息communnion th=new communnion(this); /建立与客户端交互的线程th.start(); / 启动线程catch(ex

38、ception e)addwindowlistener(new windowadapter()public void windowclosing(windowevent e) tryout.writeutf(bye); /退出时告诉客户端 catch(exception ee)dispose();system.exit(0); );public void actionperformed(actionevent e)public static void main(string agrs) server mainframe=new server(); class communnion extend

39、s threadserver fp;communnion(server fp)this.fp=fp;public void run()string msg=null;while(true)try catch(exception ee)break;tryfp.out.close(); /关闭socket输出流fp.in.close(); /关闭socket输入流 fp.sock.close(); /关闭socketfp.serversock.close(); /关闭serversocketcatch(exception ee) 三、实验要求:1、事先预习,写出预习报告2、上机验证后写出实验报告实

40、验十六 数据库设计一、实验目的1理解jdbc的功能及体系结构;2掌握利用jdbc实现数据库的查询更新等操作的方法;3掌握基本的java数据库程序设计。二、实验内容案例 成绩查询系统分析设计一个小程序可以实现各种单科考试、竞赛等成绩的各种查询。将操作与图形用户界面相结合,则很容易实现绩查询系统。程序包括三个类,除了主程序及窗体程序外,数据库连接的功能单独由一个类来完成。程序主界面如图1所示。当输入考号后点击按考生查询按钮,则显示该生成绩如图2所示。 图1 成绩查询系统界面 图2 按照考号查询成点击“成绩名次”按钮可以查看考试排名如图3所示。点击“未通过名单”按钮可以查看学生不及格的情况如图4所示

41、。 图3 查询成绩名次 图4 查询未通过名单在上面的案例框架中,我们需要利用jdbc连接数据库进行访问。试尝试实现此功能,补全代码。1数据库连接类:import java.sql.*;public class dbconnect /静态方法提高数据库的连接 2窗体程序:import java.awt.*;import javax.swing.*;import java.sql.*;import java.awt.event.*;public class scoreinquirementframe extends jframe implements actionlistener jpanel c

42、ontentpane; connection con; statement st; jsplitpane jsplitpane1 = new jsplitpane(); borderlayout borderlayout1 = new borderlayout(); jpanel jpanel1 = new jpanel(); jscrollpane jscrollpane1 = new jscrollpane(); jtextarea jtextarea1 = new jtextarea(); jlabel jlabel1 = new jlabel(考号); jbutton jbutton1

43、 = new jbutton(成绩名次); jbutton jbutton2 = new jbutton(未通过名单); jtextfield jtextfield1 = new jtextfield(); jbutton jbutton3 = new jbutton(按考生查询); /构造方法 public scoreinquirementframe() /进行窗口的初始化 private void jbinit() throws exception contentpane = (jpanel) getcontentpane(); contentpane.setlayout(borderlayout1); setsize(new dimension(400, 300); settitle(成绩查询系统); con=dbconnect.getconn(); st=con.createsta

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论