《Java语言程序设计》新版实验指导书详解_第1页
《Java语言程序设计》新版实验指导书详解_第2页
《Java语言程序设计》新版实验指导书详解_第3页
《Java语言程序设计》新版实验指导书详解_第4页
《Java语言程序设计》新版实验指导书详解_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、电子信息学院JAVA语言程序设计实验指导书陈静编写适用专业通信工程 贵州大学二O一三年十月前言JAVA语言程序设计实验最重要的任务是发展学生的智力,即编程、上机调试能力,具体到教学内容上则是重在使学生掌握理论教学中的重点和难点,对基本能熟练掌握,提高自身的编程能力,加强素质教育。注重从事理论研究、实验工作的能力和严谨的科学作风的培养,提倡创新精神。通过本课程的学习,加深对面向对象编程技术基础理论、基本知识的理解,理解实验原理和实验方案,较熟练地掌握JAVA编程能力,培养良好的编程风格。培养学生严谨的工作作风和实事求是的科学态度,为学习后继课程和未来的科学研究及实际工作打下良好的基础。目录实验一

2、:Java程序实现与程序结构4实验二:类的使用13实验三:简单计算器的Java实现24实验四:Applet34实验五:图形用户界面39实验六:图书信息管理系统45实验报告的基本内容及要求53贵州大学实验报告54实验一:Java程序实现与程序结构实验学时:2实验类型:验证实验要求:必修一、实验目的通过本实验的学习,使学生掌握如何编译和运行Java程序,能够设置Java开发环境,为今后进一步开发Java程序奠定基础,并使学生掌握循环结构、顺序结构和选择结构的JAVA程序编写,掌握JAVA语法基础与程序的控制结构。二、实验内容1、设置开发环境2、编译和运行“Hello World”程序 3、完成实验

3、指导书中第一章规定的其它实验内容三、实验原理、方法和手段使用JDK软件开发包搭建JAVA开发环境,编译并成功运行出“Hello World”程序界面;使用JAVA语法,控制程序流程,完成不同功能的程序。四、实验组织运行要求该实验以学生自主训练为主的开放模式组织教学五、实验条件PC机,jdk1.5.0,eclipcs3.2六、实验步骤1、安装JDK 5.0,安装Eclipse3.2;2、设置环境变量; 3在环境变量中设置JDK 开发环境的命令路径和类库路径,具体方法如下:我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在C:Pro

4、gram FilesJavajdk1.5.0): 环境变量配置 环境变量配置为验证环境变更是否配置成功,“开始”->“运行” 输入 “cmd”,在命令提示符下输入java,如果出现如下图所示内容,则先注销系统,再进行测试。 环境变量配置不成功的状态 环境变量配置成功的状态 4、下面我们来进行Java程序的编译: 打开Eclipse,选择文件>新建>项目>Java项目,填写项目名>完成 右键点击新建好的项目名>新建>类,填写类的名称 新建项目新建类 在类中编写程序代码5、编译“Hello World”程序代码; public class Hellowor

5、ld /* * param args */public static void main(String args) / TODO 自动生成方法存根System.out.println("Hello Word!"); System.out.println("我将成为优秀的Java 程序员!"); 6、运行程序,查看结果。 7、在CMD中编译运行;(1) 编译程序:“开始”->“运行” 输入 “cmd” 将当前路径切换到C:myjava:输入命令“cd C:myjava” 编译HelloWorld.java:输入命令 “javac HelloWorld

6、.java”如果正常编译通过,则在对应的文件夹下C:myjava 下生成了一个HelloWorld.class文件:(2) 运行程序:输入命令:“java Helloworld”8、编写实验内容代码;使用选择语句(1)使用 if.else语句 程序功能:使用 if.else语句构造多分支,判断某一年是否为闰年。闰年的条件是 符合下面二者之一:能被 4整除,但不能被 100整除;能被 4整除,又能被 100整除。 编写源程序文件,步骤如下: 打开Eclipse,选择文件>新建>项目>Java项目,填写项目名>完成 右键点击新建好的项目名>新建>类,填写类的名称

7、程序代码如下:public class Xuanzejiegou public static void main(String args) / TODO 自动生成方法存根boolean leap; int year=2005; if (year%4=0 && year%100!=0) | (year%400=0) / 方法 1 System.out.println(year+" 年是闰年"); else System.out.println(year+" 年不是闰年"); year=2008; / 方法 2 if (year%4!=0)

8、leap=false; else if (year%100!=0) leap=true; else if (year%400!=0) leap=false; else leap=true; if (leap=true) System.out.println(year+" 年是闰年"); else System.out.println(year+" 年不是闰年"); year=2050; / 方法 3 if (year%4=0) if (year%100=0) if (year%400=0) leap=true; else leap=false; else

9、 leap=false; else leap=false; if (leap=true) System.out.println(year+" 年是闰年"); else System.out.println(year+" 年不是闰年"); 编译运行程序,其结果如图所示:思考:本程序中有几个选择语句,哪些具有嵌套关系?(2)使用 switch语句 程序功能:在不同温度时显示不同的解释说明。 打开Eclipse,选择文件>新建>项目>Java项目,填写项目名>完成 右键点击新建好的项目名>新建>类,填写类的名称程序源代码如下

10、。 public class Switch public static void main(String args) / TODO 自动生成方法存根int c=38; switch (c<10? 1:c<25? 2:c<35? 3:4) case 1: System.out.println(" "+c+" 有点冷。要多穿衣服。"); case 2: System.out.println(" "+c+" 正合适。出去玩吧。"); case 3: System.out.println(" &

11、quot;+c+" 有点热。"); default: System.out.println(" "+c+" 太热了!开空调。"); 编译运行程序,其结果如图所示。 (3)使用循环语句 for循环语句练习 程序功能:按 5度的增量打印出一个从摄氏温度到华氏温度的转换表。 打开Eclipse,选择文件>新建>项目>Java项目,填写项目名>完成 右键点击新建好的项目名>新建>类,填写类的名称 程序源代码如下:public class Forxunhuan public static void main(

12、String args) / TODO 自动生成方法存根int h,c; System.out.println("摄氏温度 华氏温度"); for (c=0; c<=40; c+=5) h=c*9/5+32; System.out.println(" "+c+" "+h); 编译并运行程序,其结果如图 所示:(4)while循环语句练习 分别利用while 与 do-while 实现以上步骤1 的要求。2、在CMD中编译运行;(1) 编译程序:“开始”->“运行” 输入 “cmd”将当前路径切换到C:myjava:输入命令

13、“cd C:myjava”(2) 运行程序:输入命令:“java HelloWorld”(3)参照以上运行Helloworld的运行方法,分别在CMD中运行选择、顺序、循环结构的程序,并截图附在实验报告中。8、检查分析实验结果。七、思考题1、为什么需要设置Java环境变量? 2、综合运行循环、顺序和选择三种程序控制结构,完成更为复杂的程序。八、实验报告见学校的实验报告书内容。九、其它说明实验二:类的使用实验学时:2实验类型:验证实验要求:必修1、 实验目的建立基于实际问题的类,熟练掌握面向对象程序设计,类是面向对象设计中的一个重要概念,通过创建一个类和对象,了解类与对象的关系,并且掌握Java

14、的继承机制和多态的方法。二、实验内容完成实验指导书中第三章的实验内容三、实验原理、方法和手段从面向对象程序设计的方法出发,从类的构造、域、成员方法和构造方法的定义,对象的创建,方法的调用,接口的特点和实现,类的继承和方法的多态几个角度,熟练掌握使用Java进行面向对象程序设计的主要方法和实现过程。四、实验组织运行要求该实验以学生自主训练为主的开放模式组织教学五、实验条件PC机,jdk1.5.0,eclipcs3.2六、实验步骤1阅读如下所示的3个Java类的定义,分析它们之间的关系,写出运行结果。(1)新建项目,命名为class 新建一个类,命名为Inheritance 程序代码如下:publ

15、ic class Inheritance public static void main(String args) SubClass subC = new SubClass();subC.doSomething();class SuperClass int x;SuperClass() x = 3;System.out.println("in SuperClass : x=" + x);void doSomething() System.out.println("in SuperClass.doSomething()");class SubClass e

16、xtends SuperClass int x;SubClass() super(); / 调用父类的构造方法x = 5; / super( ) 要放在方法中的第一句System.out.println("in SubClass :x=" + x);void doSomething() super.doSomething(); / 调用父类的方法System.out.println("in SubClass.doSomething()");System.out.println("super.x=" + super.x + "

17、 sub.x=" + x);运行结果截图: 2、类的继承和多态,定义一个Person 类,要求如下:(1) 定义三个变量,分别是:姓名(name),字符串 类型(String);性别(sex),字符型(char);年龄(age),整型(int);(2)定义setName(String newName)方法与getName()方法,设置与获取姓名;(3)定义writeOutput()方法,输出姓名。 (4) 新建一个Java项目,命名为class2,在class2中新建一个类,命名为Person。在Person类中输入如下代码: public class Person private

18、String name;public Person() public Person(String initialname) name = initialname;public void setName(String newName) name = newName;public String getName() return name;public void writeOutput() System.out.println("Name: " + name);(5) 在class2中新建一个Java类,命名为Student,从Person 类派生新类Student,并增加如下内

19、容:(1) 新增一个String 类型的private 实例变量stuNumber;(2) 增加方法getStuNumber()与setStuNumber(String name);(3) 重载方法writeOutput(),输出学号与姓名信息。在Student类中输入如下代码: public class Student extends Person String stuNumber; /新增变量public Student() super(); /*为什么?不用有什么影响*/stuNumber="0"public Student(String initalName,Str

20、ing initialstuNumber) super(initalName);stuNumber=initialstuNumber;public String getStuNumber()return stuNumber;public void setStuNumber(String newStuNumber)stuNumber=newStuNumber;public void writeOutput() /重载superclass 中的方法System.out.println("Name: " + getName();System.out.println("S

21、tudent Number : " + getStuNumber();(6) 编写测试程序Java4_1.java 对所编写的Student 类进行测试,在class2中新建一个Java类,命名为Java4_1。在Java4_1类中输入如下代码:public class Java4_1 public static void main(String args) Person p = new Person();Student s = new Student();p.setName("李四");s.setName("张三");s.setStuNumb

22、er("2220083210000999");p.writeOutput(); /*/s.writeOutput();运行结果截图:(7) 分析继承的特点,以及重载如何实现,多态怎样表现出来的?3、接口的特点和实现,编写一个接口myInterface。 (1)新建Java项目,命名为myInterface,在myInterface项目中新建一个接口,命名为myInterface。在myInterface接口中输入如下代码: interface myInterface int i = 4; int k = 5; void myFunc1(); int myFunc2(int

23、x); (2)新建Java类,命名为Java4_2。在Java4_2类中输入如下代码:public class Java4_2 implements myInterfaceint j;public void myFunc1()/在使用接口的类中一定要实现接口中的所有抽象方法System.out.println("myFunc1="+i);public int myFunc2(int i)System.out.println("func2="+i);return i;public static void main(String srgs)Java4_2 x

24、 = new Java4_2();x.myFunc1();x.myFunc2(k);(3)运行结果截图(分析为什么会得到这样的结果?): 3、在CMD中编译运行;(1)运行CMD,在CMD中敲入如图所示代码,在所用电脑的Java工作路径上实现如图所示代码。4、检查分析实验结果。七、思考题在Java中如何实现多重继承以及多态。八、实验报告见学校的实验报告书内容。九、其它说明实验三:简单计算器的Java实现实验学时:2实验类型:验证实验要求:必修一、实验目的建立一个简单计算器的Java程序,进一步掌握面向对象程序设计方法,加深了解类这个面向对象程序设计中的重要概念。二、实验内容完成实验指导书中第三

25、章的实验内容三、实验原理、方法和手段设计简单计算器所需的功能,构建计算器操作界面,实现简单计算器的编写。四、实验组织运行要求该实验以学生自主训练为主的开放 模式组织教学五、实验条件PC机,jdk1.5.0,eclipcs3.2六、实验步骤1、编写实验内容代码; (1)新建Java项目,命名为Calculator: (2) 在Calculator项目下新建两个包,命名为Client和UI,Client包里面存放的是主函数,UI包里面放的是界面文件和控制器: (3) 在UI包里面新建一个类文件CalculatorFrame,编写的是界面代码:在CalculatorFrame类中输入如下代码:代码见

26、附件一。(4) 在UI包里面新建一个类文件ClientContext,编写的是控制代码:在ClientContext类中输入如下代码:package UI;import java.util.ArrayList;import java.util.List;import javax.swing.JOptionPane;public class ClientContext private CalculatorFrame calculatorFrame;private Double first = 0.0;private Double next = 0.0;public void setCalcula

27、torFrame(CalculatorFrame calculatorFrame) this.calculatorFrame = calculatorFrame;double sum = 0;public void setNumber(String str) calculatorFrame.setShow(str);public void setOpt(String opt) first = calculatorFrame.getShow();calculatorFrame.setShow("");public void setAnswer(String str) /按了“

28、=”后,对数据按运算符进行计算next = calculatorFrame.getShow();/ calculatorFrame.setShow(str);/switch(str)/if (calculatorFrame.getOpt() = "+") double answer = first + next;calculatorFrame.setShow(String.valueOf(answer); else if (calculatorFrame.getOpt() = "-") double answer = first - next;calcu

29、latorFrame.setShow(String.valueOf(answer); else if (calculatorFrame.getOpt() = "*") double answer = first * next;calculatorFrame.setShow(String.valueOf(answer); else if (calculatorFrame.getOpt() = "/") if (next = 0) calculatorFrame.setShow("对不起,除数不能为0"); else double ans

30、wer = first / next;calculatorFrame.setShow(String.valueOf(answer); else calculatorFrame.setShow(String.valueOf(calculatorFrame.getShow();public void setMc() / TODO Auto-generated method stubcalculatorFrame.setShow("");first = 0.0;next = 0.0;calculatorFrame.opt=null;(5) 在Client包里面新建一个类文件Mai

31、n,编写的是主函数:在Main类中输入如下代码:package Client;import javax.swing.JOptionPane;import UI.CalculatorFrame;import UI.ClientContext;public class Main /* * param args */public static void main(String args) / TODO Auto-generated method stubCalculatorFrame c = new CalculatorFrame();c.setVisible(true);ClientContext

32、 clientContext = new ClientContext();c.setClientContext(clientContext);clientContext.setCalculatorFrame(c);2、 检查分析实验结果。 七、思考题结合以上程序如何用Java在实现科学计算器的功能?八、实验报告见学校的实验报告书内容。九、其它说明实验四:Applet实验学时:2实验类型:验证实验要求:必修一、实验目的建立Java Applet程序,熟练掌握Java的另外一种应用形式。二、实验内容完成实验指导书中第四章的实验内容三、实验原理、方法和手段Applet是Java的另外一种应用形式,是

33、一种运行在浏览器中的特殊程序。四、实验组织运行要求该实验以学生自主训练为主的开放 模式组织教学五、实验条件PC机,jdk1.5.0,eclipcs3.2六、实验步骤1、编写实验内容代码; (1)新建Java项目,命名为helloworldApplet (3) 在helloworldApplet项目下新建一个java类,命名为HelloWorldApplet。在HelloWorldApplet类中输入如下代码:import java.applet.*; import java.awt.*; public class HelloWorldApplet extends Applet public v

34、oid paint(Graphics g) g.drawString("Hello,world",40,60); 右键HelloWorldApplet,选择运行方式为Java Applet。(4) 运行结果截图为:(5) 在JDK环境下,要在自己的Java目录下,建立一个html型文件,这里我建的文件名为1.html。先对源程序进行编译,然后用appletviewer命令运行1.html。Java源程序: Html源程序: 打开CMD,运行如图所示命令:(5)双击1.html,得到运行结果,如下图:2、 在CMD中编译运行结果如图:3、检查分析实验结果。七、思考题如何完成A

35、pplet的初始化和终止?八、实验报告见学校的实验报告书内容。九、其它说明实验五:图形用户界面实验学时:2实验类型:验证实验要求:必修一、实验目的了解图形用户界面的概念,AWT的基本体系结构,掌握窗口的基本原理,Java的事件处理机制,掌握Swing组件的使用方法。二、实验内容完成实验指导书中第五章的实验内容三、实验原理、方法和手段通过布局管理器,Java的事件处理机制,Swing组件,Java使用独立于平台的抽象图形接口来实现图形用户界面。四、实验组织运行要求该实验以学生自主训练为主的开放模式组织教学五、实验条件PC机,jdk1.5.0,eclipcs3.2六、实验步骤1、编写实验内容代码;

36、 (1)新建一个Java项目,命名为javagui,在javagui项目下新建一个类,命名为TestFlowLayout。在TestFlowLayout类中输入代码如下:import java.awt.*;public class TestFlowLayout public static void main(String args) Frame f = new Frame("Flow Layout"); Button button1 = new Button("确定"); Button button2 = new Button("打开"

37、;); Button button3 = new Button("关闭"); Button button4 = new Button("取消"); f.setLayout(new FlowLayout(); f.add(button1); f.add(button2); f.add(button3); f.add(button4); f.setSize(100,100); f.setVisible(true);得到运行结果如图所示:(2)在javagui项目下新建一个MenuTest的类。在MenuTest类中输入如下代码:import java.awt

38、.*;public class MenuTestpublic static void main(String args)Frame fr=new Frame("Menu");MenuBar mb=new MenuBar();fr.setMenuBar(mb);Menu m1=new Menu("File");Menu m2=new Menu("Format");Menu m3=new Menu("Help");Menu m4=new Menu("进制");mb.add(m1);mb.add(m2

39、);mb.setHelpMenu(m3);MenuItem m21=new MenuItem("中文");MenuItem m41=new MenuItem("二进制");MenuItem m42=new MenuItem("八进制");MenuItem m43=new MenuItem("十进制");m2.add(m21);m2.add(m4);m4.add(m41);m4.add(m42);m4.add(m43);fr.pack();fr.setVisible(true);得到运行结果如图所示:(3)在java

40、gui项目下新建一个TestPanels的类。在TestFlowLayout类中输入代码如下:import java.awt.*;import javax.swing.*;public class TestPanels extends JFrame private JTextField operation; / 结果栏private JButton plus, equal; / 运算符private JButton numbers; / 数字public TestPanels() /定义控件operation = new JTextField("0");numbers =

41、new JButton10;for (int i = 0; i < 10; i+)numbersi = new JButton("" + i);plus = new JButton(" + ");equal = new JButton(" = ");JPanel p1 = new JPanel();p1.setLayout(new GridLayout(3, 4);/ Add buttons to the panelfor (int i = 1; i <=9; i+) p1.add(numbersi);p1.add(num

42、bers0); /数字0p1.add(plus);p1.add(equal);/ Create panel p2 to hold a text field and p1JPanel p2 = new JPanel(new BorderLayout();p2.add(operation,BorderLayout.NORTH);p2.add(p1, BorderLayout.CENTER);/ Add contents to the frameadd(p2, BorderLayout.CENTER);/* Main method */public static void main(String a

43、rgs) TestPanels frame = new TestPanels();frame.setTitle("Calc");frame.setLocationRelativeTo(null); / Center the frameframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(200, 200);frame.setVisible(true);得到运行结果如图所示:2、 在CMD中编译运行;3、检查分析实验结果,并课后实现完整计算器功能:七、思考题在实现图形用户界面上,AWT和Swing

44、有什么异同?八、实验报告见学校的实验报告书内容。九、其它说明实验六:图书信息管理系统实验学时:2实验类型:综合性实验要求:必修一、实验目的综合运行所学的知识,构建图形用户界面,实现图书信息管理系统。二、实验内容设计图书信息管理所需的功能,构建图形用户界面,完成图书信息的管理。三、实验原理、方法和手段使用图形用户界面,JAVA程序设计语言编写程序。四、实验组织运行要求该实验以学生自主训练为主的开放模式组织教学五、实验条件PC机,jdk1.5.0,eclipcs3.2六、实验步骤1、应用系统需求分析图书馆管理系统是图书馆管理工作中不可缺少的部分,它对于图书馆的管理者和使用者都非常重要,所以图书馆管

45、理系统应该为管理者与读者提供充足的信息和快捷的数据处理手段,但长期以来,人们使用传统的人工方式或性能较低的图书馆管理系统管理图书馆的日常事务,操作流程比较繁琐。一个成功的图书馆管理系统应提供快速的图书信息检索功能、快捷的图书借阅、归还流程。从读者与图书馆管理员的角度出发,本着以读者借书、还书快捷、方便的原则,本系统具有以下特点: (1)确保系统具有良好的系统性能,友好的用户界面。 (2)较高的处理效率,便于使用和维护。 (3)采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期。 (4)系统尽可能简化图书馆管理员的重复工作,提高工作效率。 (5)简化数据查询、统计难度。2、 系统结构设计

46、和功能设计系统功能设计: (1)对图书馆的图书信息和用户(读者,借阅者等)信息进行有效的管理; (2)性能:数据库的录入;图书目录检索;用户信息查询;图书信息查询; (3)输出:用户信息;图书信息;输入:用户名称;图书编码; (4)安全保密:馆中所有未借出的书籍能够供用户随时查阅;用户信息只能被系统管理员查阅,修改;系统的结构设计:E-R图数据库的关系模式:3、编写代码,测试(1)安装SQL Sever2005 安装SQL2005,在安装的一项选择windows 混合身份登陆;并记录你的登陆名字;和密码;忘记也没关系;(2)设置SQL2005 设置SQL2005的TCP/IP ,一般默认端口是

47、1433,如果不是,则需要更改;SQL Server ConfigurationManage-SQLserver2005网络配置-MSSQLSERVER的协议-TC/PIP-IP地址-IPALL,把端口改为1433:如果忘记安装时候的登录密码,打开SQL Server 2005中的“SQL Server Management Studio”,连接数据库,可以点击,安全性-登录名-然后展开登录名-选择用户,修改密码。(3)clipse连接到SQL2005 附件中有三个jar包,在eclipse中代码添加完毕后,添加这三个jar包。(4)在SQL Server 2005附加图书管理系统中的数据库

48、a.在SQL2005的安装目录下的Data文件中添加数据库文件:C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData文件夹中添加java图书馆管理系统Database的扩展名为db_library_Data.MDF和db_library_Log.LDF的两个文件。 b.打开SQL Server 2005中的“SQL Server Management Studio”,连接数据库,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“附加”菜单项。点击添加刚刚添加Data目录的文件。 选择所要附加数据库的db_library_Data.MDF文件,单击【确定】按钮,即可完成数据库的附加操作。(5)新建Java项目,命名为libraryManager,在libraryManager项目中分别新建源文件命名为src、res,在源文件src中分别新建包命名为com.wsy、com.wsy.dao、com.ws

温馨提示

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

评论

0/150

提交评论