[理学]Jaa实验指导书.doc

上传人:sccc 文档编号:4543635 上传时间:2023-04-27 格式:DOC 页数:51 大小:823KB
返回 下载 相关 举报
[理学]Jaa实验指导书.doc_第1页
第1页 / 共51页
[理学]Jaa实验指导书.doc_第2页
第2页 / 共51页
[理学]Jaa实验指导书.doc_第3页
第3页 / 共51页
[理学]Jaa实验指导书.doc_第4页
第4页 / 共51页
[理学]Jaa实验指导书.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《[理学]Jaa实验指导书.doc》由会员分享,可在线阅读,更多相关《[理学]Jaa实验指导书.doc(51页珍藏版)》请在三一办公上搜索。

1、Java语言程序设计实验指导书沈泽刚 编渤海大学信息科学与技术学院实验一Java环境与简单程序3实验二 数据类型与流程控制3实验三 类的定义与对象的使用5实验四 构造方法与方法重载5实验五 数组与字符串类6实验六 类的继承与多态6实验七 Java基础语言类8实验八 Java异常处理8实验九 Java输入输出处理9实验十 Java图形界面设计9实验十一 Java小程序与图形绘制10实验十二 事件处理与常用组件11实验十三 Java多线程与多媒体12实验十四 Java网络编程14实验十五 Java数据库编程14实验参考答案16实验一16实验二16实验三17实验四18实验五20实验六22实验七24实

2、验八26实验九28实验十32实验十一35实验十二38实验十三45实验十四47实验一Java环境与简单程序一、实验目的1. 掌握JDK的安装和配置2. 掌握简单的Java应用程序的编写和运行二、实验内容1. JDK的安装与配置(1) JDK的下载地址是:(2) JDK的安装。双击下载得到的可执行文件即开始安装,安装过程需要用户指定JDK的安装路径,如C:jdk1.7.0,也可使用缺省路径,安装结束后在磁盘上产生一个文件夹,其中包含几个子目录,可以使用Windows的资源管理器或我的电脑查看。(3) 环境变量的设置。JDK安装完后需要设置环境变量。需设置的环境变量有PATH和CLASSPATH两个

3、,它们的值分别如下:PATH:添加C:jdk1.7.0bin目录CLASSPATH:添加或设置为.;C:jdk1.7.0lib(4) Java API文档的安装。为了随时查看Java API,可以下载并安装Java API在线文档,该文档不是运行程序必须的,但建议安装。2. 编写一个Java应用程序,使用JDK编译并运行该程序,在屏幕上输出“This is my first Java program.”。3. 若将下面程序保存为Welcome.java,修改下面程序: public class welcome public static void main(String args) syste

4、m.out.printl(Welcome to Java World!) 4. 修改下面程序的错误:public class Welcome public void main(String args) System.out.printl(Welcome to Java World!) ;5.编写一个Java应用程序,使其运行后在屏幕上显示如下图案。*实验二 数据类型与流程控制一、实验目的1. 掌握各种基本数据类型2. 掌握运算符及表达式的使用3. 掌握Java流程控制语句的使用二、实验内容1. 编辑并编译下面名为DeclareAssign.java的源程序,修改其中的错误,直到得出正确的结果。

5、public class DeclareAssignpublic static void main(String args)final double PI=3.1415926;boolean b = true;int x,y=8;float f=4.5 ;double d=1.71828;char c;c=u0041;x=12;System.out.println(b=+b);System.out.println(x=+x);System.out.println(y=+y);System.out.println(f=+f);System.out.println(d=+d);System.out

6、.println(c=+c);System.out.println(PI=+PI);需要注意的几个问题:(1) 标识符常量可以先声明后赋值,但赋值后不能再修改其值。如: final double PI = 3.1415926;(2) 赋值不能超出类型的范围,否则产生编译错误。如: byte b = 128;(3) 带小数点的数或用科学记数法表示的数,默认为double类型的数据,因此在为float型数据赋值时应加上f或F。如下面的赋值语句会产生编译错误: float f = 2e3;正确的语句应为: float f = 2e3F;(4) 方法中声明的变量不自动初始化,使用之前必须为其赋值,一般

7、在声明变量时为其赋一个合理的初值。如: int i; System.out.println(i = + i);若上面的i是在一个方法中声明的,接下来输出i的值就会产生编译错误。可以在声明时为变量赋值,如: int i = 0;2. 编写程序,接受用户输入一个double型数,把它的整数部分和小数部分分别输出。提示:可使用强制类型转换。3. 编写一程序,求出11000之间的所有完全数。完全数是其所有因子(包括1但不包括该数本身)的和等于该数。例如28=1+2+4+7+14,28就是一个完全数。求n的所有因子之和的部分代码如下:int sum=1;for(int k=2;kn;k+) if(n%k

8、=0) sum=sum+k;4. 编写程序读入一个整数,显示该整数的所有素数因子。例如,输入整数为120,输出应为2、2、2、3、5。下面是部分代码: do for(int k=2;kjava Calculate 10 + 20 程序输出:results=30注意,各参数之间有空格。 实验六 类的继承与多态一、实验目的1. 理解Java类的继承的概念,掌握如何定义一个类的子类。掌握成员变量的隐藏和方法的覆盖;掌握this和super关键字的使用。2. 理解final类和abstract类的含义,掌握如何定义和使用final类和abstract类。3. 掌握对象的造型与多态的概念,掌握访问修饰符

9、的含义和使用。4. 掌握接口的概念与定义,能够区别接口与抽象类。了解内部类的定义与作用。二、实验内容1. 定义一个表示长方形的类Rectangle,其中包含两个private 的double型的成员变量length和width分别表示长方形的长和宽,定义一个有参数的构造方法Rectangle(double length, double width),在其中为长方形对象初始化,定义一个无参数的构造方法,在其中调用有参数的构造方法,使创建的对象的长和宽都为0。再定义用来求长方形周长的方法perimeter()和求面积的方法area()。2. 定义一个长方体类Cuboid,使其继承Rectangle

10、类,其中包含一个表示高的double型成员变量height;定义一个构造方法Cuboid(double length, double width, double height);再定义一个求长方体表面积的方法area(double height)和求体积的方法volume()。编写一个名为CuboidTest的应用程序,求一个长、宽和高都为10的长方体的体积。3. 设计一个汽车类Auto,其中包含一个表示速度的double型的成员变量speed和表示启动的start()方法、表示加速的speedUp()方法以及表示停止的stop()方法。方法体内写一个输出语句即可。再设计一个Auto类的子类B

11、us表示公共汽车,在Bus类中定义一个int型的表示乘客数的成员变量passenger,另外定义两个方法gotOn()和gotOff()表示乘客上乘和下车。编写一个应用程序BusTest测试Bus类的使用。4. 下列程序是否能够正确编译和运行,为什么?/CastDemo1.javaclass Employeeclass Manager extends Employee public String toString() return Im a manager.; public class CastDemo1 public static void main(String args) Employe

12、e stuff; Manager boss=new Manager(); stuff=boss; Manager myBoss; myBoss=(Manager)stuff; System.out.println(myBoss); 5. 输入下列程序,分析运行结果。/ Test.javaclass Employee public void show() System.out.println(I am an employee.); class Manager extends Employee public void show() System.out.println(I am a manager

13、.); class Secretary extends Employee public void show() System.out.println(I am a secretary.); class Programmer extends Employee public void show() System.out.println(I am an programmer.); public class Test public static void method(Employee e) if(e instanceof Manager) System.out.println(You are a M

14、anager.); else if(e instanceof Secretary) System.out.println(You are a Secretary.); else if(e instanceof Programmer) System.out.println(You are a Programmer.); public static void main(String args) Manager m = new Manager(); Secretary s = new Secretary(); Programmer p = new Programmer(); m.show(); s.

15、show(); p.show(); method(m); method(s); method(p); 实验七 Java基础语言类一、实验目的1. 了解Java 类库和常用的类。2. 掌握Object类和Math类的使用。3. 掌握常用系统类和工具类的使用。二、实验内容1. 编写一个名为Square(正方形)的类,它有一个double类型成员变量length表示正方形的边长,一个默认的构造方法和一个带参数的构造方法。要求该类能够使用clone()方法产生对象的副本。覆盖Object类的equals()方法,要求当两个正方形的边长相等即认为两个对象相等。 覆盖Object类的toString()方

16、法,要求使用System.out.println(sq);语句输出时输出下面的内容(假设正方形的边长为10):Square:10.0在Square类中编写 main()方法,测试Square类的各种功能。2. 编写一个应用程序,从键盘上输入两个整数x和y的值和一个双精度变量d的值,利用Math类的方法计算: 求x的y次方; 求x和y的最小值; 求d取整后的结果; 求d四舍五入(保留2位小数)后的结果; 求出30度角的正弦值。3. 编程随机生成1000个1到6之间的整数,并统计1到6之间的每个数出现的次数。4. 修改上题,要求使用Random类实现上题的要求。比较结果并给出结论。实验八 Java

17、异常处理一、实验目的1. 了解Java 异常的概念和异常处理机制。2. 掌握异常的类型和异常的处理方法。3. 掌握自定义异常的编写方法。二、实验内容1. 编写一个程序,在main()方法中使用try块抛出一个Exception类的对象,为Exception的构造方法提供一个字符串参数,在catch块内捕获该异常并打印出字符串参数。添加一个finally块并打印一条消息。2. 编写一个程序,定义一个static方法methodA(),令其声明抛出一个IOException异常,再定义另一个static方法methodB(),在该方法中调用methodA()方法,在main()方法中调用metho

18、dB()方法。试编译该类,看编译器会报告什么?对于这种情况应如何处理?由此可得到什么结论?3. 创建一个自定义的MyException异常类,该类继承Exception类,为该类写一个构造方法,该构造方法带一个String类型的参数。写一个方法,令其打印出保存下来的String对象。再编写一个类,在main()方法中使用try-catch结构创建一个MyException类的对象并抛出,在catch块中捕获该异常并打印出传递的String消息。4. 编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。测试当输入的数据不是double型数据(如字符串“abc”)会产生

19、什么结果,怎样处理。提示:使用Scanner对象输入数据。如果类型不正确将抛出java.util.InputMismatchException异常。实验九 Java输入输出处理一、实验目的1. 掌握File类的使用。2. 掌握字节输入输出流类的使用,其中包括InputStream、OutputStream类,FileInputStream,FileOutputStream类,DataInputStream、DataOutputStream、BufferedInputStream、BufferedOutputStream和PrintStream类。3. 掌握字符输入输出流类的使用,其中包括Fil

20、eReader、FileWriter、InputStreamReader、OutputStreamWriter、PrintWriter等类的使用。4. 掌握ObjectInputStream和ObjectOutputStrema类的使用。二、实验内容1. 编写一个程序,随机生成100个1000到2000之间的整数,将它们写到一个文件out.dat中。写出数据要求使用DataOutputStream类的writeInt(int i)方法。2. 编写一个程序,要求从上题得到的out.dat中读出100个整数,按照从小到大的顺序排序,在屏幕上输出,同时写到同一个名为sort.dat的文件中。程序要求

21、使用DataInputStream和DataOutputStream类实现。提示:读出数据使用DataInputStream的readInt()方法。3. 修改前2题的程序,要求输出使用PrintStream对象的println()方法,读入字符串使用DataInputStream对象的readUTF()方法实现。4. 编写一个程序,要求从键盘上输入一个整数、一个浮点数和一个字符串,将它们写到一个文本文件中,然后通过程序读出这些数据,在屏幕上显示出来。要求:写出数据使用PrintWriter类的println()方法,读入数据使用BufferedReader类的readLine()方法实现。5

22、. 定义一个Student类,然后编写程序使用对象输出流将几个Student对象写入student.ser文件中,使用对象输入流读出对象。实验十 Java图形界面设计一、实验目的1. 掌握容器组件JFrame、Container、JPanel的使用方法。2. 掌握容器的布局方法及容器布局管理器。3. 掌握使用中间容器JPanel构建复杂界面的方法。二、实验内容1. 编写Java应用程序,界面如图9.1所示,要求: 框架窗格布局管理器设置为FlowLayout。 创建两个面板并把它们添加到框架中。 每个面板包含三个按钮,面板使用FlowLayout布局管理器。 要求点击关闭按钮能够关闭窗口并结束

23、程序运行。图9.1 使用FlowLayout布局2. 编写Java应用程序,实现如图9.2的界面。注意,按钮放在窗口的下方并居中且按钮的大小都一样。提示:将4个按钮放置在一个面板对象上,且将面板对象的布局设置为网格式布局,然后将面板添加到框架窗口的南面。图 9.2 使用GridLayout布局3. 编写Java应用程序实现如图9.3所示的界面,其中text area区域为JTextArea组件对象,它是用下面的构造方法创建的jt=new JTextArea(“text area”),其他组件都为按钮组件。提示:需要使用BorderLayout布局管理器。图 9.3 使用BorderLayout

24、布局实验十一 Java小程序与图形绘制一、实验目的1. 了解Java小程序的工作原理。2. 掌握Java 小程序的编写和运行方法。3. 掌握Java 小程序的图形界面设计。4. 掌握在Java 小程序和应用程序窗口中绘制图形的方法。二、实验内容1. 编写一Java小程序,要求程序运行在浏览器窗口上输出有关信息。编写HTML文件,通过浏览器和appletviewer工具两种方法运行该Applet程序。2. 编写一个Java Applet程序,在屏幕上显示一个正方形和正方形的内切圆,圆的颜色为蓝色。编写HTML文件并在浏览器中运行。3. 编写一个Java小程序,完成下列操作: 修改上题程序,正方形

25、的位置、大小由HTML文件参数传入Java Applet。修改HTML文件中传入的参数值,不重新编译小程序,再运行HTML文件,看结果如何?说明什么? 修改上题程序,由程序随机生成一种颜色,填充到上题的内切圆中。提示:随机生成三个0到255的整数,然后用这三个整数构造一个Color对象。若构造Color对象的三个整数值从HTML文件传入,应如何修改程序?4. 编写Java小程序,绘制出下面图形。若在应用程序中绘制该图形,应如何修改程序。图 10.1 使用面板绘制图形实验十二 事件处理与常用组件一、实验目的1. 了解Java GUI 事件处理模型,掌握事件处理的步骤。2. 掌握窗口事件、动作事件

26、、鼠标事件的处理方法及相应的监听器接口的实现。3. 掌握JLabel、JButton、JTextField、JTextArea、JMenu等常用组件的使用方法。二、实验内容1. 编写一个Java 小程序实现如下图所示功能,当用户点击某个按钮,小程序的背景显示该颜色。2. 编写一个应用程序或Java Applet程序,其界面中含有两个文本框,当用户在第一个文本框中输入文本然后按回车,程序将其内容显示在第二个文本框中。3. 编写Java Applet程序,在其窗口中放置一个JLabel、一个JTextField和一个JButton,当用户点击按钮时或在JTextField中按回车时,将JTextF

27、ield中的内容显示在JLabel中。4. 编写如下图所示的Java Applet程序,当鼠标在其界面按下时显示鼠标的位置。5. 编写Java Applet程序,使用paintComponent()方法在其上显示一字符串,在窗口下方放置两个按钮“放大”和“缩小”,当用户点击“放大”按钮时显示的字符串放大2号,点击“缩小”按钮时字符串缩小2号。6. 编写应用程序,在窗口中建立一个菜单条,其中有一个“文件”菜单,该菜单中有一个“退出”菜单项,窗口的底部放置一个按钮。该程序实现功能是当用户点击窗口的关闭按钮、选择“退出”菜单和点击“退出”按钮都可以关闭窗口。实验十三 Java多线程与多媒体一、实验目

28、的1. 掌握多线程的概念及线程实现的两种方法。2. 掌握Java线程的状态及状态的改变。3. 掌握Java程序音频、图像的处理。二、实验内容1. 下面是一个多线程的程序:public class SimpleThread extends Thread public SimpleThread(String str) super(str); public void run() for (int i = 0; i 10; i+) System.out.println(i + + getName(); try sleep(long)(Math.random() * 1000); catch (Inte

29、rruptedException e) System.out.println(DONE! + getName(); public class TwoThreadsTest public static void main (String args) new SimpleThread(Jamaica).start(); new SimpleThread(Fiji).start(); (1)输入该程序并运行之,体会多线程的程序的编写方法。(2)将该程序改为通过实现Runnable接口的方式实现多线程。2. 编写Java Applet程序,界面如下图所示。实现的功能为,当点击”Start”按钮时随机产

30、生一个两位数,在文本框中不断显示,当点击”Stop”按钮时,停止显示并将当前数显示在JLabel中。要求使用线程实现。请在下划线处填上适当的语句或关键字使程序运行得到上述结果。/import java.awt.*;import javax.swing.*;public class Bonus extends JApplet implements ActionListener,Runnable JTextField tf=new JTextField(10); JButton b1=new JButton(Start), b2=new JButton(Stop); JLabel l=new JL

31、abel( ); Container cp; String s=; boolean run=true; public void init() cp=getContentPane(); cp.setLayout(new FlowLayout(); cp.add(tf);cp.add(b1);cp.add(b2); cp.add(l); public void ( ) if(e.getSource()=b1) run=true; t=new Thread(this); t.start(); else if(e.getSource()=b2) run=false; l.setText(s=s+tf.

32、getText()+ ); public while(run) try int i=(int)(Math.random()*90+10); tf.setText(+i); Thread.sleep(200); catch(InterruptedException e) 3. 从系统中找到名为“jim.graham.gif”的图像文件和名为“spacemusic.au”的声音文件,复制到当前目录。编写一个Java Applet,程序运行时显示图片,用鼠标点击图片开始播放声音文件,再点击一次停止播放。实验十四 Java网络编程一、实验目的1. 掌握网络计算、服务器和客户机等基本概念。2. 掌握套接

33、字与机器标识的概念以及InetAddress类的使用。3. 掌握使用ServerSocket、Socket类实现套接字的编程。4. 了解使用DatagramSocket、DatagramPacket实现UDP网络编程。二、实验内容1. 编写一个图形用户界面的程序,其上包含一个文本框和一个命令按钮,当用户在文本框中输入一个主机名,点击按钮,利用InetAddress类查找出它的IP地址并显示出来。2. 编写图形用户界面的程序实现聊天功能,界面如图14.2和14.2所示: 图13.12 服务器端界面 13.13 客户端界面3. 使用ServerSocket类与Socket类编写一个简单的客户/服务

34、器程序,实现的功能是客户向服务器发送一个字符串,服务器程序将该字符串转换成大写字母输出。实验十五 Java数据库编程一、实验目的1. 了解JDBC的概念。2. 掌握Java应用程序访问数据库的基本步骤。3. 使用JDBC API建立Java程序与数据库的连接。二、实验内容1. 通过JDBC-ODBC桥驱动程序访问Access数据库。在D:盘的根目录建一个名为“student”的数据库,在其中建立一个名为“student”的表,表的结构如下:表15. 1 Student表的结构列名数据类型是否为空是否主码SnoCHAR(5)否是SnameVARCHAR2(10)否SsexCHAR(4)SageNUMBER(2)SdeptCHAR(4)输入下表中数据:表15.2 Student表数据SnoSnameSsexSageSdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS建立一个名为“student”的ODBC数据源,它与“student”数据库相连。编写一应用程序访问该数据库。要求程序运行后,先在“student”表中插入一行数据,数据如下: 学号:99999,姓名:李明,

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

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号