《最新《java程序设计》实验指导书.doc》由会员分享,可在线阅读,更多相关《最新《java程序设计》实验指导书.doc(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品资料java程序设计实验指导书.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
2、 main(String args) 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
3、.计算 Result=1!+2!+3!+10!2.计算1-50之间所有素数的和。3. 产生10个100之内的随机整数输出,并把这10个数按从小到大的顺序输出。4. 随机产生20个50100间的整数,输出这20个数并找出最大数及最小数输出。(注:Math.random()可产生大于等于0且小于1的一个随机数)5试编写程序,实现求几何形状(长方形、正方形、圆形)的周长、面积。(可任选其一)6.验证书中的例题。三、试验要求1、预习试验内容并写出上机报告。2、实验中出现的问题及实验体会。实验三 面向对象的程序设计(一)一、实验目的1 熟悉类的创建方法。2 掌握对象的声明与创建。3 能利用面向对象的思想
4、解决一般问题。二、实验内容1 以下程序能否通过编译?上机验证并指明错误原因与改正方法class Locationprivate 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 上机后写出实验报
6、告实验四 面向对象的程序设计(二)一、实验目的1.熟悉类的定义2.掌握对象的声明、实例化及成员的引用3.掌握构造方法及实例方法的区别与用法二、实验内容 1.编写一个类,描述汽车,其中用字符型描述车的牌号,用浮点型描述车的价格。编写一个测试类,其中有一个修改价格的方法,对汽车对象进行操作,根据折扣数修改汽车的价格,最后在main()方法中输出修改后的汽车信息。2. 设计一个银行帐户类,成员变量包括账号、储户姓名、开户时间、身份证号码、存款余额等帐户信息,成员方法包括存款、取款操作。3. 编写一个java程序,设计一个汽车类Vehicle,包含的属性有车轮的个数wheels和车重weight。小汽
7、车类Car是Vehicle的子类,包含的属性有载人数loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个类都有构造方法和输出相关数据的方法。4. 验证书中的例题。三、实验要求1.事先预习,写出预习报告2.上机后写出实验报告实验五 字符串和正则表达式一、实验目的1掌握字符串的常用属性和方法;2掌握String类和StringBuffer类的使用;3了解正则表达式的使用。二、实验内容1.任意输入两个字符串,测试两个字符串是否相等。2.编写一个程序判断字符串“Tom”是否在另一个字符串“I am Tom,I am from China.”中出现。3.编写一个程序
8、检查你输入的学号是否为你班同学的学号。(如:2010020401为合法学号)4. 验证书中的例题。三、实验要求1、根据题目要求完成程序中没有完成的模块。2、写好上机报告。实验六 异常处理一、实验目的1熟悉异常的抛出与捕获的含义;2掌握异常捕获与处理的方法;3能自定义异常。二、实验内容现在多数学校的成绩管理都由计算机进行管理,这就需要有相应的应用程序。编写成绩管理应用程序,其中有成绩录入模块,成绩录入过程中,难免出现录入数据的类型出现错误,或录入的成绩不在合理的范围。在成绩录入过程中,若出现上述错误,程序应该如何处理。程序框架如下,将代码补充完整:class 负分异常 extends Excep
9、tion /当录入了负分时。此处应用了自定义异常class 高分异常 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 负分异
10、常();public void 录入成绩() int 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 输出成绩(
11、)public static void main(String arg)ExceptionDemo demo = new ExceptionDemo();demo.录入成绩();demo.输出成绩();三、实验要求1、根据题目要求完成程序中没有完成的模块。2、写好上机报告。实验七 输入输出一、实验目的:1理解Java输入输出的实现机制;2掌握常用的输入输出类的功能及方法;3掌握常用数据类型针对文件的输入输出方式。二、实验内容:1 double型数组中保存有如下数据:1.23,69.88,34.45,67.98,2345.67。将数据以二进制形式保存到文件中去。2编程将以上数据以可打印形式保存到
12、文件中去。3读入网页的内容,并以可读形式将其输出到一个文件中去。三、试验要求:1、预习试验内容并写出上机报告。2、实验中出现的问题及实验体会。实验八 多线程技术一、实验目的1理解多线程编程技术的概念;2掌握多线程创建的方法;3掌握多线程在实际应用开发程序中的使用。二、实验内容案例 动画显示解析动画显示是多媒体技术的一个主要方面,如今动画制作也是日常工作中经常要用到的,实现动画技术的方法也非常多,利用多线程的技术方法可以解决动画显示的一些实现问题, 动画原理:在Applet中加载若干幅表现不同状态的图片,利用线程按顺序切换图片实现动画效果。下载图片时,使用了图像跟踪技术。尝试实现功能,补全代码。
13、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; /用于图像缓冲的图像对象变量Graphics offScrGC; /图像对象变量int total=5; /图片总数public void init()tracker
14、=new MediaTracker(this); /建立图像跟踪对象images=new Imagetotal; /建立数组 tryoffScrImage=createImage(getWidth(),getHeight(); /建立用于缓冲的对象offScrGC=offScrImage.getGraphics(); /取出图像对象offScrGC.setColor(getBackground();offScrGC.fillRect(0,0,getWidth(),getHeight(); /用背景色画矩形 catch(Exception e)e.printStackTrace();for(in
15、t i=0;itotal;i+) /载入图像,并利用跟踪对象跟踪 trytracker.waitForAll(); /等待全部图像载入完 catch(InterruptedException e)public void start() /在缓冲区准备好第一幅图并建立线程、启动线程 public void run()tryanimator.sleep(200); /休眠等待200毫秒 catch(InterruptedException e) repaint(); /调用重画方法public void paint(Graphics g)public void update(Graphics g)
16、 /重写update()方法防止闪烁 public void stop()if(animator!=null)animator=null; /清除对象,停止线程2、Applet程序运行,编写Html文件:三、实验要求:1、事先预习,写出预习报告 2、上机验证后写出实验报告实验九 图形用户界面设计(一)一、 实验目的:1 巩固图形用户界面设计的方法2 掌握事件处理的设计方法二、 实验内容:1绘制如下形式的图形界面,要求:窗体背景为蓝色,中间为黄色方格。2. 编写程序,绘制如下格式的界面:3编写程序,创建如下图所示的图形界面(不必为组件提供功能)。4.验证书中例题。三、 实验要求:1 事先预习,写
17、出预习报告2 上机验证后写出实验报告实验十 图形用户界面设计(二)一、实验目的1掌握各种组件的用法;2掌握布局管理器的布局方式;3掌握事件处理机制。二、实验内容1验证书中例题。2.试创建如下图所示的图形用户界面,颜色列表框为红色、绿色和蓝色。3编写程序,创建如下图所示的图形界面。(要求实现功能)三、实验要求1、根据题目要求完成各程序。2、写好上机报告。实验十一 图形用户界面设计(三)一、实验目的1掌握各种组件的用法;2掌握布局管理器的布局方式;3掌握事件处理机制。4. 熟悉绘图类的基本用法5掌握绘图类中常用的绘图方法二、实验内容1验证书中例题:P200页 例6.5、P209页 例6.6。2设计
18、一个程序,程序执行时,随机产生一条直线、一个矩形、一个椭圆,并且每个图形的颜色不同。(说明:可利用系统类Math中的静态方法random(),该方法产生一个01间的小数)3设计如下形式的窗口,并实现窗口的关闭功能:4. 设计如下形式的窗口,并实现窗口的关闭功能: 三、实验要求1、根据题目要求完成各程序。2、写好上机报告。实验十二 网络通信一、实验目的1理解网络通信的原理和常用通信技术的概念;2掌握基于TCP协议的套接字的网络编程方法3掌握网络通信在实际应用开发程序中的应用。二、实验内容案例 聊天程序解析通过建立一个Socket客户端和一个ServerSocket服务端进行实时数据交换。运行时先
19、打开服务器端,然后再打开客户端,单击客户端的“连接服务器”按钮将与服务器建立连接;连接之后,双方在各自图形界面的文本框中填写要发送的信息,然后单击 “Send”按钮,就可以进行通信了。程序运行结果如图1所示。整个程序分成客户端和服务器端两大部分,分别保存成Client.java和Server.java两个文件。 图1 聊天程序运行界面(客户端和服务器端)1.客户端程序代码:import .*;import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;class Client extends J
20、Frame implements ActionListenerSocket sock; /定义套接字对象JTextArea t1=new JTextArea();JTextField t2=new JTextField(20);JButton b1=new JButton(send);JButton b2=new JButton(连接服务器);DataOutputStream out; /定义数据输出流DataInputStream in; /定义数据输出流public Client()JScrollPane jsp=new JScrollPane(t1);this.getContentPan
21、e().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(p1,South);b1.addActionListener(this); b2.addActionListener(this);setTitle(客户端); setSize(340,200); setVisible(true);addWindowListener(new W
22、indowAdapter()public void windowClosing(WindowEvent e);public void actionPerformed(ActionEvent e)elsepublic static void main(String agrs)Client mainFrame=new Client();class Communnion extends ThreadClient fp;Communnion(Client fp)this.fp=fp;public void run()String msg=null;while(true)tryfp.out.close(
23、); /关闭Socket输出流fp.in.close(); /关闭Socket输入流fp.sock.close(); /关闭Socket catch(Exception ee)2.服务器端代码:import .*;import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;class Server extends JFrame implements ActionListenerServerSocket serverSock; /定义服务器套接字Socket sock; /定义客户套接字JText
24、Area t1=new JTextArea();JTextField t2=new JTextField(20);JButton b1=new JButton(send);DataOutputStream out; /定义数据输出流DataInputStream in; /定义数据输入流String cname=null;public Server()JScrollPane jsp=new JScrollPane(t1);this.getContentPane().add(jsp,Center);JPanel p1=new JPanel();p1.add(t2);p1.add(b1);this
25、.getContentPane().add(p1,South);b1.addActionListener(this);setTitle(服务器);setSize(340,200);setVisible(true);try sock=serverSock.accept(); /使用accept()阻塞等待客户请求, /有客户请求到来则产生一个Socket对象,并继续执行out=new DataOutputStream(sock.getOutputStream(); /由Socket对象得到输入流,并构造相应的DataOutputStream对象in=new DataInputStream(soc
26、k.getInputStream(); /由socket对象得到输出流,并构造DataInputStream对象out.writeUTF(你连接服务器成功); / 给客户反馈信息Communnion th=new Communnion(this); /建立与客户端交互的线程th.start(); / 启动线程catch(Exception e)addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e) tryout.writeUTF(bye); /退出时告诉客户端 catch(Exception e
27、e)dispose();System.exit(0); );public void actionPerformed(ActionEvent e)public static void main(String agrs) Server mainFrame=new Server(); class Communnion extends ThreadServer fp;Communnion(Server fp)this.fp=fp;public void run()String msg=null;while(true)try catch(Exception ee)break;tryfp.out.clos
28、e(); /关闭socket输出流fp.in.close(); /关闭socket输入流 fp.sock.close(); /关闭socketfp.serverSock.close(); /关闭ServerSocketcatch(Exception ee) 三、实验要求:1、事先预习,写出预习报告2、上机验证后写出实验报告实验十三 Applet程序设计一实验目的:1熟悉Applet程序的编写与运行2掌握HTML文件与Applet间参数的传递3.掌握在Applet中输出图像与声音二实验内容:1设计用户邮箱登录界面。(如下所示)2请编写一个Applet,用它的HTML文件中给出的两个整型参数作加数,求它们的和,并显示结果。3准备好几个音乐文件和一幅图像,编写一个Applet,显示一幅图像并添加“播放”、“循环”、“停止”三个按钮,用于控制音乐文件的播放。4验证书中例题。三、试验要求1、预习试验内容并写出上机报告。2、实验中出现的问题及实验体会。