《java程序设计》实验指导书.docx

上传人:牧羊曲112 文档编号:3171188 上传时间:2023-03-11 格式:DOCX 页数:30 大小:47.66KB
返回 下载 相关 举报
《java程序设计》实验指导书.docx_第1页
第1页 / 共30页
《java程序设计》实验指导书.docx_第2页
第2页 / 共30页
《java程序设计》实验指导书.docx_第3页
第3页 / 共30页
《java程序设计》实验指导书.docx_第4页
第4页 / 共30页
《java程序设计》实验指导书.docx_第5页
第5页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《java程序设计》实验指导书.docx》由会员分享,可在线阅读,更多相关《《java程序设计》实验指导书.docx(30页珍藏版)》请在三一办公上搜索。

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 stati

2、c void 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、实验中出现的问题及实验体会。 1 山东信息职业技术学院java实验报告 实验二 Java语言程序设计训练 一、实验目的: 1输入、输出操作实现原理和

3、方法 2掌握程序流程控制的实现方法 3掌握数组的定义和操作方法 二、实验内容 1.计算 Result=1!+2!+3!+10! 2.计算1-50之间所有素数的和。 3. 产生10个100之内的随机整数输出,并把这10个数按从小到大的顺序输出。 2 山东信息职业技术学院java实验报告 4. 随机产生20个50100间的整数,输出这20个数并找出最大数及最小数输出。 5试编写程序,实现求几何形状的周长、面积。 6.验证书中的例题。 三、试验要求 1、预习试验内容并写出上机报告。 2、实验中出现的问题及实验体会。 3 山东信息职业技术学院java实验报告 实验三 面向对象的程序设计 一、实验目的

4、1 熟悉类的创建方法。 2 掌握对象的声明与创建。 3 能利用面向对象的思想解决一般问题。 二、实验内容 1 以下程序能否通过编译?上机验证并指明错误原因与改正方法 Class Location Private int x,y; Public void Location(int a,int b) X=a; y=b; Public int getXreturn x; Public int getYreturn y; Public static void main(String args) Location loc=new Location(12,20); System.out.println(l

5、oc.getX); System.out.println(loc.getY); 2. 创建一个图书类,类中包含的属性有:书名、作者、出版社;包含的方法有:设置书籍状态,查看书籍状态。书籍状态有在馆和外借两种。 3. 设计一个Birthday类,其成员变量有:year,month,day;提供构造方法、输出Birthday对象值的方法和计算年龄的方法。编写程序测试这个类。 4 山东信息职业技术学院java实验报告 4编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类Person,并作为学生数据操作类St

6、udent和教师数据操作类Teacher的基类。 5.验证书中的例题。 三、实验要求 1 事先预习,写出预习报告 2 上机后写出实验报告 5 山东信息职业技术学院java实验报告 实验四 面向对象的程序设计 一、实验目的 1.熟悉类的定义 2.掌握对象的声明、实例化及成员的引用 3.掌握构造方法及实例方法的区别与用法 二、实验内容 1.编写一个类,描述汽车,其中用字符型描述车的牌号,用浮点型描述车的价格。编写一个测试类,其中有一个修改价格的方法,对汽车对象进行操作,根据折扣数修改汽车的价格,最后在main方法中输出修改后的汽车信息。 2. 设计一个银行帐户类,成员变量包括账号、储户姓名、开户时

7、间、身份证号码、存款余额等帐户信息,成员方法包括存款、取款操作。编写一个java程序,设计一个汽车类Vehicle,包含的属性有车轮的个数wheels和车重weight。小汽车类Car是Vehicle的子类,包含的属性有载人数loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个类都有构造方法和输出相关数据的方法。 6 山东信息职业技术学院java实验报告 3. 编写一个java程序,设计一个汽车类Vehicle,包含的属性有车轮的个数wheels和车重weight。小汽车类Car是Vehicle的子类,包含的属性有载人数loader。卡车类Truck是Ca

8、r类的子类,其中包含的属性有载重量payload。每个类都有构造方法和输出相关数据的方法。 4. 验证书中的例题。 三、实验要求 1.事先预习,写出预习报告2.上机后写出实验报告 7 山东信息职业技术学院java实验报告 实验五 面向对象综合实验 一、实验目的 1熟悉类的定义; 2掌握对象的声明、实例化及成员的引用; 3掌握构造方法及实例方法的区别与用法。 二、实验内容 多数用户对去银行办理存款、取款等业务并不默生,用户自然感觉到了通过计算机办理业务的方便、快捷,也自然对编写出银行系统程序的程序员发出由衷的敬意。实际上,当我们具备了面向对象编程的知识以后,我们也能编写出相应的程序。 程序框架如

9、下,将代码补充完整: 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 BCOption Vector vec=new Vector; /对象声明与实例化 static int count=0; /类中静态变量的定义 public void kaihu(BankCount bc

10、) /方法体,实现开户功能 / public void moneyOut(int id, float outmoney) /方法体,实现取钱功能 8 实例方法 山东信息职业技术学院java实验报告 public void moneyIn(int id, float inmoney) /方法体,实现存钱功能 public void query(int id) /方法体,查询并输出账户信息 public static void main(String args) /实现账户的相关操作 三、实验要求 1、根据题目要求完成程序中没有完成的模块。 2、写好上机报告。 9 山东信息职业技术学院java实验

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

12、 public class ExceptionDemo static final int number=2; int score=new intnumber; public void 检查分数(int 分数) throws 负分异常,高分异常 /下面方法中判断如果录入的成绩不合理,则抛出异常,但本方法并不处理异常,仅声明了异常 if(分数 100) throw new 高分异常; /通过throw,人工抛出异常 if(分数 0) throw new 负分异常; public void 录入成绩 int i; for(i=0;inumber;i+) try scorei=Integer.pars

13、eInt(JOptionPane.showInputDialog(请输入第+(i+1) +个同学的成绩); catch(NumberFormatException e) /在try.catch间的语句中若产生异常,则捕获异常,直接进行异常处理 10 山东信息职业技术学院java实验报告 try 检查分数(scorei); /在检查分数模块中,可能产生高分异常对象,也可能产生低分异常对象,根据不同情况,进行不同处理 catch(高分异常 e) catch(负分异常 e) public void 输出成绩 public static void main(String arg) ExceptionD

14、emo demo = new ExceptionDemo; demo.录入成绩; demo.输出成绩; 三、实验要求 1、根据题目要求完成程序中没有完成的模块。 2、写好上机报告。 11 山东信息职业技术学院java实验报告 实验七:图形用户界面设计 一、 实验目的: 1 巩固图形用户界面设计的方法 2 掌握事件处理的设计方法 二、 实验内容: 1绘制如下形式的图形界面,要求:窗体背景为蓝色,中间为黄色方格。 2. 编写程序,绘制如下格式的界面: 12 山东信息职业技术学院java实验报告 3编写程序,创建如下图所示的图形界面(不必为组件提供功能)。 4.验证书中例题。 三、 实验要求: 1

15、事先预习,写出预习报告 2 上机验证后写出实验报告 13 山东信息职业技术学院java实验报告 实验八 图形用户界面设计 一、实验目的 1掌握各种组件的用法; 2掌握布局管理器的布局方式; 3掌握事件处理机制。 二、实验内容 1验证书中例题。 2.试创建如下图所示的图形用户界面,颜色列表框为红色、绿色和蓝色。 14 山东信息职业技术学院java实验报告 3编写程序,创建如下图所示的图形界面。 三、实验要求 1、根据题目要求完成各程序。2、写好上机报告。 15 山东信息职业技术学院java实验报告 实验九 图形用户界面设计 一、实验目的 1掌握各种组件的用法; 2掌握布局管理器的布局方式; 3掌

16、握事件处理机制。 4. 熟悉绘图类的基本用法 5掌握绘图类中常用的绘图方法 二、实验内容 1验证书中例题:P200页 例6.5、P209页 例6.6。 2设计一个程序,程序执行时,随机产生一条直线、一个矩形、一个椭圆,并且每个图形的颜色不同。 3设计如下形式的窗口,并实现窗口的关闭功能: 16 山东信息职业技术学院java实验报告 4. 设计如下形式的窗口,并实现窗口的关闭功能: 三、实验要求 1、根据题目要求完成各程序。 2、写好上机报告。 17 山东信息职业技术学院java实验报告 实验十:图形用户界面综合设计 一、 实验目的: 1、 巩固图形用户界面设计的方法 2、 掌握事件处理的设计方

17、法 二、 实验内容: 案例 学生信息注册界面设计解析 多数学校的学生档案信息都由计算机进行管理,在编写的档案管理应用程序中,有档案信息录入模块,该模块的功能是在图形化的界面下,用户把信息输入到计算机中。录入界面的大致样式及组件名称如图。 框架标签文本行面板单选钮复选框选择框按钮文本区图5-1 信息录入界面 设计上述程序界面并实现相应的功能,程序框架如下,补全代码: public class InputData implements ActionListener Frame f; /声明框架对象 Label l1,l2,l3,l4; /声明标签对象 TextField t; /声明文本行对象 C

18、heckbox r1,r2; /声明单选钮对象 CheckboxGroup g; /声明组对象 Checkbox c1,c2,c3; Choice ch; /声明选择框对象 Button b; /声明按钮对象 TextArea ta; /声明文本区对象 Panel p1,p2,p3,p4,p5; /声明面板对象 int i=0; public InputData /对象实例化; f=new Frame(信息录入); 18 山东信息职业技术学院java实验报告 ch.add(济南); /添加选择项 p1=new Panel; p1.setLayout(new FlowLayout(FlowLay

19、out.LEFT); /设定面板布局样式 p1.add(l1); /面板中加入组件 f.setLayout(new GridLayout(2,1); /设定框架布局样式 19 山东信息职业技术学院java实验报告 f.addWindowListener(new WindowAdapter /注册事件监听器,匿名类实现接口 ); f.setVisible(true); public void actionPerformed(ActionEvent e) /事件处理接口实现 /把输入内容显示到文本区中; public static void main(String args) new InputD

20、ata; 三、 实验要求: 1、 事先预习,写出预习报告 2、 上机验证后写出实验报告 20 山东信息职业技术学院java实验报告 实验十一 多线程技术 一、实验目的 1理解多线程编程技术的概念; 2掌握多线程创建的方法; 3掌握多线程在实际应用开发程序中的使用。 二、实验内容 案例 动画显示解析 动画显示是多媒体技术的一个主要方面,如今动画制作也是日常工作中经常要用到的,实现动画技术的方法也非常多,利用多线程的技术方法可以解决动画显示的一些实现问题, 动画原理: 在Applet中加载若干幅表现不同状态的图片,利用线程按顺序切换图片实现动画效果。下载图片时,使用了图像跟踪技术。 尝试实现功能,

21、补全代码。 1、程序代码: import java.awt.*; import java.applet.Applet; public class Animation extends Applet implements Runnable Image images; /图像数组 MediaTracker tracker; /图像跟踪对象变量 int index=0; /图像索引 Thread animator; /线程变量 Image offScrImage; /用于图像缓冲的图像对象变量 Graphics offScrGC; /图像对象变量 int total=5; /图片总数 public v

22、oid init tracker=new MediaTracker(this); /建立图像跟踪对象 images=new Imagetotal; /建立数组 try offScrImage=createImage(getWidth,getHeight); /建立用于缓冲的对象 offScrGC=offScrImage.getGraphics; /取出图像对象 offScrGC.setColor(getBackground); offScrGC.fillRect(0,0,getWidth,getHeight); /用背景色画矩形 catch(Exception e)e.printStackTr

23、ace; for(int i=0;itotal;i+) /载入图像,并利用跟踪对象跟踪 try tracker.waitForAll; /等待全部图像载入完 catch(InterruptedException e) public void start /在缓冲区准备好第一幅图并建立线程、启动线程 21 山东信息职业技术学院java实验报告 public void run try animator.sleep(200); /休眠等待200毫秒 catch(InterruptedException e) repaint; /调用重画方法 public void paint(Graphics g)

24、 public void update(Graphics g) /重写update方法防止闪烁 public void stop if(animator!=null) animator=null; /清除对象,停止线程 2、Applet程序运行,编写Html文件: 三、实验要求: 1、事先预习,写出预习报告 2、上机验证后写出实验报告 22 山东信息职业技术学院java实验报告 实验十二:Applet程序设计 一实验目的: 1熟悉Applet程序的编写与运行 2掌握HTML文件与Applet间参数的传递 3.掌握在Applet中输出图像与声音 二实验内容: 1设计用户邮箱登录界面。 2请编写一

25、个Applet,用它的HTML文件中给出的两个整型参数作加数,求它们的和,并显示结果。 23 山东信息职业技术学院java实验报告 3准备好几个音乐文件和一幅图像,编写一个Applet,显示一幅图像并添加“播放”、“循环”、“停止”三个按钮,用于控制音乐文件的播放。 4验证书中例题。 三、试验要求 1、预习试验内容并写出上机报告。 2、实验中出现的问题及实验体会。 24 山东信息职业技术学院java实验报告 实验十三 输入输出 一、实验目的: 1理解Java输入输出的实现机制; 2掌握常用的输入输出类的功能及方法; 3掌握常用数据类型针对文件的输入输出方式。 二、实验内容: 1 double型

26、数组中保存有如下数据:1.23,69.88,34.45,67.98,2345.67。将数据以二进制形式保存到文件中去。 2编程将以上数据以可打印形式保存到文件中去。 3读入网页的内容,并以可读形式将其输出到一个文件中去。 三、试验要求: 1、预习试验内容并写出上机报告。 2、实验中出现的问题及实验体会。 25 山东信息职业技术学院java实验报告 实验十四 输入输出 一、实验目的 1理解Java输入输出的实现机制; 2掌握常用的输入输出类的功能及方法; 3掌握常用数据类型针对文件的输入输出方式。 二、实验内容 案例 记事本程序设计解析 我们经常使用记事本来记录、保存一些数据、文字,或者打开以前

27、创建的文件进行操作。把我们编辑好的内容存入文件就是输出。而打开原有的文件的内容则是输入。程序主界面如图1所示。当点击打开按钮则弹出打开文件对话框如图2所示。当选择文本文件后,将文本文档的内容显示在文本区中如图3所示。同理,当在文本区中编辑好内容后,点击保存按钮,则弹出文本保存对话框,选择保存位置后可将内容保存到文件中去。 试尝试实现此功能。 图1 记事本界面 图2 打开文件对话框 图3 显示文件内容 源代码如下,补全代码: 1界面程序: import java.awt.*; import javax.swing.*; import java.awt.*; import java.awt.eve

28、nt.*; import java.io.*; public class Frame1 extends JFrame implements ActionListener JPanel contentPane; JScrollPane jScrollPane1 = new JScrollPane; BorderLayout borderLayout1 = new BorderLayout; JPanel jPanel1 = new JPanel; JTextArea jTextArea1 = new JTextArea; JButton jButton1 = new JButton; JButt

29、on jButton2 = new JButton; /窗口的构造方法 public Frame1 26 山东信息职业技术学院java实验报告 /jbInit方法完成界面的初始化设置 private void jbInit throws Exception /保存、打开两个按钮的事件处理方法 public void actionPerformed(ActionEvent e) /如果用户点击保存按钮 27 山东信息职业技术学院java实验报告 /如果用户点击打开按钮 if(e.getSource= =jButton2) jTextArea1.setText(); JFileChooser fc

30、=new JFileChooser; try catch(Exception ex) System.out.print(ex.toString); 2主程序: import java.awt.*; import javax.swing*; public class Application1 public Application1( ) Frame1 frame = new Frame1; / 使窗口居中 Dimension screenSize = Toolkit.getDefaultToolkit.getScreenSize; Dimension frameSize = frame.getS

31、ize; if (frameSize.height screenSize.height) frameSize.height = screenSize.height; if (frameSize.width screenSize.width) frameSize.width = screenSize.width; frame.setLocation( (screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); frame.setVisible(true); /主程序的main方法 p

32、ublic static void main(String args) new Application1( ); 三、试验要求 1、预习试验内容并写出上机报告。 2、实验中出现的问题及实验体会。 28 山东信息职业技术学院java实验报告 实验十五 网络通信 一、实验目的 1理解网络通信的原理和常用通信技术的概念; 2掌握基于TCP协议的套接字的网络编程方法 3掌握网络通信在实际应用开发程序中的应用。 二、实验内容 案例 聊天程序解析 通过建立一个Socket客户端和一个ServerSocket服务端进行实时数据交换。运行时先打开服务器端,然后再打开客户端,单击客户端的“连接服务器”按钮将与服

33、务器建立连接;连接之后,双方在各自图形界面的文本框中填写要发送的信息,然后单击 “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 JFrame implements ActionListener Socke

34、t 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.getContentPane.add(jsp,Center); JPanel p1=ne

35、w 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); 29 山东信息职业技术学院java实验报告 addWindowListener(new WindowAdapt

36、er public void windowClosing(WindowEvent e) ); public void actionPerformed(ActionEvent e) else public static void main(String agrs) 30 山东信息职业技术学院java实验报告 Client mainFrame=new Client; class Communnion extends Thread Client fp; Communnion(Client fp) this.fp=fp; public void run String msg=null; while(t

37、rue) try fp.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.*; import javax.swing.*; class Server extends JFrame implements ActionListener ServerSocket serverSock; /定义服务器套接字

38、 Socket sock; /定义客户套接字 JTextArea t1=new JTextArea; JTextField t2=new JTextField(20); 31 山东信息职业技术学院java实验报告 JButton b1=new JButton(send); DataOutputStream out; /定义数据输出流 DataInputStream in; /定义数据输入流 String cname=null; public Server JScrollPane jsp=new JScrollPane(t1); this.getContentPane.add(jsp,Cente

39、r); 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阻塞等待客户请求, /有客户请求到来则产生一个Socket对象,并继续执行 out=new DataOutputStream(sock.getOutputStream); /由Socket对象得到输入流,并构造相应的DataOutputStream对象 in=new DataInputStream(sock.getInputStream); /由socket对象得到输出流,并构造DataInputStream对象 out.writeUTF(你连接服务

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号