




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java语言程序设计新版实验指导书 1电子信息学院JAVA语言程序设计实验指导书陈静编写适用专业通信工程贵州大学二O一三年十月2前言JAVA语言程序设计实验最重要的任务是发展学生的智力,即编程、上机调试能力,具体到教学内容上则是重在使学生掌握理论教学中的重点和难点,对基本能熟练掌握,提高自身的编程能力,加强素质教育。 注重从事理论研究、实验工作的能力和严谨的科学作风的培养,提倡创新精神。 通过本课程的学习,加深对面向对象编程技术基础理论、基本知识的理解,理解实验原理和实验方案,较熟练地掌握JAVA编程能力,培养良好的编程风格。 培养学生严谨的工作作风和实事求是的科学态度,为学习后继课程和未来的科学研究及实际工作打下良好的基础。 一、实验目的通过本实验的学习,使学生掌握如何编译和运行Java程序,能够设置Java开发环境,为今后进一步开发Java程序奠定基础,并使学生掌握循环结构、顺序结构和选择结构的JAVA程序编写,掌握JAVA语法基础与程序的控制结构。 二、实验内容 1、设置开发环境 2、编译和运行“Hello World”程序 3、完成实验指导书中第一章规定的其它实验内容 三、实验原理、方法和手段使用JDK软件开发包搭建JAVA开发环境,编译并成功运行出“Hello World”程序界面;使用JAVA语法,控制程序流程,完成不同功能的程序。 四、实验组织运行要求该实验以学生自主训练为主的开放模式组织教学 五、实验条件PC机,jdk1.5.0,eclipcs3.2 六、实验步骤 1、安装JDK5.0,安装Eclipse3.2; 2、设置环境变量;3在环境变量中设置JDK开发环境的命令路径和类库路径,具体方法如下我的电脑-属性-高级-环境变量-系统变量中添加以下环境变量(假定你的j2sdk安装在C:Program FilesJavajdk1.5.0)5环境变量配置环境变量配置为验证环境变更是否配置成功,“开始”-“运行”输入“cmd”,在命令提示符下输入java,如果出现如下图所示内容,则先注销系统,再进行测试。 环境变量配置不成功的状态环境变量配置成功的状态 4、下面我们来进行Java程序的编译6打开Eclipse,选择文件新建项目Java项目,填写项目名完成右键点击新建好的项目名新建类,填写类的名称新建项目新建类7在类中编写程序代码 5、编译“Hello World”程序代码;c publics classHelloworld/*mparam args*/c publi staticd void main(Stringargs)/O TODO自动生成方法存根System.out.println(Hello Word!);System.out.println(我将成为优秀的Java程序员!); 6、运行程序,查看结果。 7、在CMD中编译运行; (1)编译程序“开始”-“运行”输入“cmd”将当前路径切换到C:myjava输入命令“cd C:myjava”编译HelloWorld.java:输入命令“javac HelloWorld.java”8如果正常编译通过,则在对应的文件夹下C:myjava下生成了一个HelloWorld.class文件: (2)运行程序输入命令“java Helloworld” 8、编写实验内容代码;使用选择语句 (1)使用if.else语句程序功能使用if.else语句构造多分支,判断某一年是否为闰年。 闰年的条件是符合下面二者之一能被4整除,但不能被100整除;能被4整除,又能被100整除。 编写源程序文件,步骤如下打开Eclipse,选择文件新建项目Java项目,填写项目名完成右键点击新建好的项目名新建类,填写类的名称910程序代码如下c publics classXuanzejiegouc publi staticd voidmain(Stringargs)/O TODO自动生成方法存根n booleanleap;t intyear=xx;f if(year%4=0&year%100!=0)|(year%400=0)/方法1System.out.println(year+年是闰年);elseSystem.out.println(year+年不是闰年);year=xx;/方法2f if(year%4!=0)leap=false;e elsef if(year%100!=0)leap=true;e elsef if(year%400!=0)leap=false;e elseleap=true;f if(leap=true)System.out.println(year+年是闰年);else System.out.println(year+年不是闰年);year=2050;/方法3f if(year%4=0)f if(year%100=0)f if(year%400=0)leap=true;e elseleap=false;e elseleap=false;e elseleap=false;f if(leap=true)System.out.println(year+年是闰年);else System.out.println(year+年不是闰年);编译运行程序,其结果如图所示思考本程序中有几个选择语句,哪些具有嵌套关系? (2)使用switch语句程序功能在不同温度时显示不同的解释说明。 打开Eclipse,选择文件新建项目Java项目,填写项目名完成右键点击新建好的项目名新建类,填写类的名称11程序源代码如下。 c publics classSwitchc publi staticd voidmain(Stringargs)/O TODO自动生成方法存根t intc=38;h switch(c10?1:c25?2:c新建项目Java项目,填写项目名完成右键点击新建好的项目名新建类,填写类的名称程序源代码如下c publics classForxunhuanc publi staticd voidmain(Stringargs)/O TODO自动生成方法存根t inth,c;System.out.println(摄氏温度华氏温度);r for(c=0;c“运行”输入“cmd”将当前路径切换到C:myjava输入命令“cd C:myjava” (2)运行程序输入命令“java HelloWorld” (3)参照以上运行Helloworld的运行方法,分别在CMD中运行选择、顺序、循环结构的程序,并截图附在实验报告中。 8、检查分析实验结果。 七、思考题 1、为什么需要设置Java环境变量? 2、综合运行循环、顺序和选择三种程序控制结构,完成更为复杂的程序。 八、实验报告见学校的实验报告书内容。 九、其它说明13实验二类的使用实验学时2实验类型验证实验要求必修 一、实验目的建立基于实际问题的类,熟练掌握面向对象程序设计,类是面向对象设计中的一个重要概念,通过创建一个类和对象,了解类与对象的关系,并且掌握Java的继承机制和多态的方法。 二、实验内容完成实验指导书中第三章的实验内容 三、实验原理、方法和手段从面向对象程序设计的方法出发,从类的构造、域、成员方法和构造方法的定义,对象的创建,方法的调用,接口的特点和实现,类的继承和方法的多态几个角度,熟练掌握使用Java进行面向对象程序设计的主要方法和实现过程。 四、实验组织运行要求该实验以学生自主训练为主的开放模式组织教学 五、实验条件PC机,jdk1.5.0,eclipcs3.2 六、实验步骤1阅读如下所示的3个Java类的定义,分析它们之间的关系,写出运行结果。 (1)新建项目,命名为class14新建一个类,命名为Inheritance程序代码如下c publics classInheritancec publi staticd voidmain(Stringargs)15SubClass subC=w newSubClass();subC.doSomething();s classSuperClasst intx;SuperClass()x=3;System.out.println(in SuperClass:x=+x);d voiddoSomething()System.out.println(in SuperClass.doSomething();s classSubClass sextends SuperClasst intx;SubClass()super();/调用父类的构造方法x=5;/super()要放在方法中的第一句System.out.println(in SubClass:x=+x);d voiddoSomething()super.doSomething();/调用父类的方法System.out.println(in SubClass.doSomething();System.out.println(super.x=+super.x+sub.x=+x);运行结果截图 2、类的继承和多态,定义一个Person类,要求如下 (1)定义三个变量,分别是:姓名(name),字符串类型(String);性别(sex),字符型(char);年龄(age),整型(int); (2)定义setName(String newName)方法与getName()方法,设置与获取姓名;16 (3)定义writeOutput()方法,输出姓名。 (4)新建一个Java项目,命名为class2,在class2中新建一个类,命名为Person。 1718在Person类中输入如下代码c publics classPersone privateString name;c publicPerson()c publicPerson(String initialname)name=initialname;c publicd voidsetName(String newName)name=newName;c publicString getName()n returnname;c publicd voidwriteOutput()System.out.println(Name:+name); (5)在class2中新建一个Java类,命名为Student,从Person类派生新类Student,并增加如下内容 (1)新增一个String类型的private实例变量stuNumber; (2)增加方法getStuNumber()与setStuNumber(String name); (3)重载方法writeOutput(),输出学号与姓名信息。 19在Student类中输入如下代码c publics classStudent sextends PersonString stuNumber;/新增变量c publicStudent()super();/*为什么?不用有什么影响*/stuNumber=0;c publicStudent(String initalName,String initialstuNumber)super(initalName);stuNumber=initialstuNumber;c publicString getStuNumber()n returnstuNumber;c publicd voidsetStuNumber(String newStuNumber)stuNumber=newStuNumber;c publicd voidwriteOutput()/重载superclass中的方法System.out.println(Name:+getName();System.out.println(Student Number:+getStuNumber(); (6)编写测试程序Java4_1.java对所编写的Student类进行测试,在class2中新建一个Java类,命名为Java4_1。 20在Java4_1类中输入如下代码c publics classJava4_1c publi staticd voidmain(String args)Person p=w newPerson();Student s=w newStudent();p.setName(李四);s.setName(张三);s.setStuNumber(22xx3210000999);p.writeOutput();/*/s.writeOutput();运行结果截图 (7)分析继承的特点,以及重载如何实现,多态怎样表现出来的? 3、接口的特点和实现,编写一个接口myInterface。 (1)新建Java项目,命名为myInterface,在myInterface项目中新建一个接口,命名为myInterface。 21在myInterface接口中输入如下代码e interfacemyInterfaceint i=4;int k=5;d voidmyFunc1();t intmyFunc2(t intx); (2)新建Java类,命名为Java4_2。 22在Java4_2类中输入如下代码c publics classJava4_2s implementsmyInterfacet intj;c publicd voidmyFunc1()/在使用接口的类中一定要实现接口中的所有抽象方法System.out.println(myFunc1=+i);c publict intmyFunc2(t inti)System.out.println(func2=+i);n returni;c publi staticd voidmain(String srgs)Java4_2x=w newJava4_2();x.myFunc1();x.myFunc2(k); (3)运行结果截图(分析为什么会得到这样的结果?) 3、在CMD中编译运行; (1)运行CMD,在CMD中敲入如图所示代码,在所用电脑的Java工作路径上实现如图所示代码。 234、检查分析实验结果。 七、思考题在Java中如何实现多重继承以及多态。 八、实验报告见学校的实验报告书内容。 九、其它说明24实验三简单计算器的Java实现实验学时2实验类型验证实验要求必修 一、实验目的建立一个简单计算器的Java程序,进一步掌握面向对象程序设计方法,加深了解类这个面向对象程序设计中的重要概念。 二、实验内容完成实验指导书中第三章的实验内容 三、实验原理、方法和手段设计简单计算器所需的功能,构建计算器操作界面,实现简单计算器的编写。 四、实验组织运行要求该实验以学生自主训练为主的开放模式组织教学 五、实验条件PC机,jdk1.5.0,eclipcs3.2 六、实验步骤 1、编写实验内容代码; (1)新建Java项目,命名为Calculator252627 (2)在Calculator项目下新建两个包,命名为Client和UI,Client包里面存放的是主函数,UI包里面放的是界面文件和控制器28 (3)在UI包里面新建一个类文件CalculatorFrame,编写的是界面代码在CalculatorFrame类中输入如下代码代码见附件一。 29 (4)在UI包里面新建一个类文件ClientContext,编写的是控制代码在ClientContext类中输入如下代码package UI;import java.util.ArrayList;import java.util.List;import javax.swing.JOptionPane;public classClientContextprivate CalculatorFrame calculatorFrame;private Doublefirst=0.0;private Doublenext=0.0;30public voidsetCalculatorFrame(CalculatorFramecalculatorFrame)this.calculatorFrame=calculatorFrame;double sum=0;public voidsetNumber(String str)calculatorFrame.setShow(str);public voidsetOpt(String opt)first=calculatorFrame.getShow();calculatorFrame.setShow();public voidsetAnswer(String str)/按了“=”后,对数据按运算符进行计算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;calculatorFrame.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);elsedouble answer=first/next;calculatorFrame.setShow(String.valueOf(answer);elsecalculatorFrame.setShow(String.valueOf(calculatorFrame.getShow();31public voidsetMc()/TODO Auto-generated methodstubcalculatorFrame.setShow();first=0.0;next=0.0;calculatorFrame.opt=null;32 (5)在Client包里面新建一个类文件Main,编写的是主函数在Main类中输入如下代码package Client;import javax.swing.JOptionPane;import UI.CalculatorFrame;import UI.ClientContext;public classMain33/*param args*/public staticvoidmain(Stringargs)/TODO Auto-generated methodstubCalculatorFrame c=new CalculatorFrame();c.setVisible(true);ClientContext clientContext=new ClientContext();c.setClientContext(clientContext);clientContext.setCalculatorFrame(c); 2、检查分析实验结果。 七、思考题结合以上程序如何用Java在实现科学计算器的功能? 八、实验报告见学校的实验报告书内容。 九、其它说明34实验四Applet实验学时2实验类型验证实验要求必修 一、实验目的建立Java Applet程序,熟练掌握Java的另外一种应用形式。 二、实验内容完成实验指导书中第四章的实验内容 三、实验原理、方法和手段Applet是Java的另外一种应用形式,是一种运行在浏览器中的特殊程序。 四、实验组织运行要求该实验以学生自主训练为主的开放模式组织教学 五、实验条件PC机,jdk1.5.0,eclipcs3.2 六、实验步骤 1、编写实验内容代码; (1)新建Java项目,命名为helloworldApplet35 (3)在helloworldApplet项目下新建一个java类,命名为HelloWorldApplet。 在HelloWorldApplet类中输入如下代码t importjava.applet.*;36t importjava.awt.*;c publics classHelloWorldApplet sextends Appletc publicd voidpaint(Graphics g)g.drawString(Hello,world,40,60);右键HelloWorldApplet,选择运行方式为Java Applet。 (4)运行结果截图为37 (5)在JDK环境下,要在自己的Java目录下,建立一个html型文件,这里我建的文件名为1.html。 先对源程序进行编译,然后用appletviewer命令运行1.html。 Java源程序Html源程序打开CMD,运行如图所示命令38 (5)双击1.html,得到运行结果,如下图 2、在CMD中编译运行结果如图 3、检查分析实验结果。 七、思考题如何完成Applet的初始化和终止? 八、实验报告见学校的实验报告书内容。 九、其它说明39实验五图形用户界面实验学时2实验类型验证实验要求必修 一、实验目的了解图形用户界面的概念,AWT的基本体系结构,掌握窗口的基本原理,Java的事件处理机制,掌握Swing组件的使用方法。 二、实验内容完成实验指导书中第五章的实验内容 三、实验原理、方法和手段通过布局管理器,Java的事件处理机制,Swing组件,Java使用独立于平台的抽象图形接口来实现图形用户界面。 四、实验组织运行要求该实验以学生自主训练为主的开放模式组织教学 五、实验条件PC机,jdk1.5.0,eclipcs3.2 六、实验步骤 1、编写实验内容代码; (1)新建一个Java项目,命名为javagui,在javagui项目下新建一个类,命名为TestFlowLayout。 40在TestFlowLayout类中输入代码如下t importjava.awt.*;c publics classTestFlowLayoutc publi staticd voidmain(String args)Frame f=w newFrame(Flow Layout);Button button1=w newButton(确定);Button button2=w newButton(打开);Button button3=w newButton(关闭);Button button4=w newButton(取消);f.setLayout(w newFlowLayout();f.add(button1);f.add(button2);f.add(button3);f.add(button4);f.setSize(100,100);f.setVisible(true);得到运行结果如图所示 (2)在javagui项目下新建一个MenuTest的类。 41在MenuTest类中输入如下代码t importjava.awt.*;c publics classMenuTestc publi staticd voidmain(String args)Frame fr=w newFrame(Menu);MenuBar mb=w newMenuBar();fr.setMenuBar(mb);Menu m1=w newMenu(File);Menu m2=w newMenu(Format);Menu m3=w newMenu(Help);Menu m4=w newMenu(进制);mb.add(m1);mb.add(m2);mb.setHelpMenu(m3);MenuItem m21=w newMenuItem(中文);MenuItem m41=w newMenuItem(二进制);MenuItem m42=w newMenuItem(八进制);MenuItem m43=w newMenuItem(十进制);m2.add(m21);m2.add(m4);m4.add(m41);m4.add(m42);m4.add(m43);fr.pack();fr.setVisible(true);得到运行结果如图所示42 (3)在javagui项目下新建一个TestPanels的类。 在TestFlowLayout类中输入代码如下t importjava.awt.*;t importjavax.swing.*;c publics classTestPanels sextends JFramee privateJTextField operation;/结果栏e privateJButton plus,equal;/运算符e privateJButtonnumbers;/数字c publicTestPanels()/定义控件operation=w newJTextField(0);numbers=w newJButton10;r for(t inti=0;i10;i+)numbersi=w newJButton(+i);plus=w newJButton(+);equal=w newJButton(=);JPanel p1=w newJPanel();p1.setLayout(w newGridLayout(3,4);/Add buttonsto thepanelr for(t inti=1;i=9;i+)p1.add(numbersi);43p1.add(numbers0);/数字0p1.add(plus);p1.add(equal);/Create panelp2to holda textfield andp1JPanel p2=w newJPanel(w newBorderLayout();p2.add(operation,BorderLayout.NORTH);p2.add(p1,BorderLayout.CENTER);/Add contentsto theframeadd(p2,BorderLayout.CENTER);/*Main method*/c publi staticd voidmain(Stringargs)TestPanels frame=w newTestPanels();frame.setTitle(Calc);frame.setLocationRelativeTo(null);/Center theframeframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(200,200);frame.setVisible(true);得到运行结果如图所示 2、在CMD中编译运行; 443、检查分析实验结果,并课后实现完整计算器功能 七、思考题在实现图形用户界面上,AWT和Swing有什么异同? 八、实验报告见学校的实验报告书内容。 九、其它说明45实验六图书信息管理系统实验学时2实验类型综合性实验要求必修 一、实验目的综合运行所学的知识,构建图形用户界面,实现图书信息管理系统。 二、实验内容设计图书信息管理所需的功能,构建图形用户界面,完成图书信息的管理。 三、实验原理、方法和手段使用图形用户界面,JAVA程序设计语言编写程序。 四、实验组织运行要求该实验以学生自主训练为主的开放模式组织教学 五、实验条件PC机,jdk1.5.0,eclipcs3.2 六、实验步骤 1、应用系统需求分析图书馆管理系统是图书馆管理工作中不可缺少的部分,它对于图书馆的管理者和使用者都非常重要,所以图书馆管理系统应该为管理者与读者提供充足的信息和快捷的数据处理手段,但长期以来,人们使用传统的人工方式或性能较低的图书馆管理系统管理图书馆的日常事务,操作流程比较繁琐。 一个成功的图书馆管理系统应提供快速的图书信息检索功能、快捷的图书借阅、归还流程。 从读者与图书馆管理员的角度出发,本着以读者借书、还书快捷、方便的原则,本系统具有以下特点 (1)确保系统具有良好的系统性能,友好的用户界面。 (2)较高的处理效率,便于使用和维护。 (3)采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期。 (4)系统尽可能简化图书馆管理员的重复工作,提高工作效率。 (5)简化数据查询、统计难度。 2、系统结构设计和功能设计系统功能设计 (1)对图书馆的图书信息和用户(读者,借阅者等)信息进行有效的管理; (2)性能数据库的录入;图书目录检索;用户信息查询;图书信息查询; (3)输出用户信息;图书信息;输入用户名称;图书编码; (4)安全保密馆中所有未借出的书籍能够供用户随时查阅;用户信息只能被系统管理员查阅,修改;46系统的结构设计E-R图数据库的关系模式 473、编写代码,测试 (1)安装SQL Severxx安装SQLxx,在安装的一项选择windows混合身份登陆;并记录你的登陆名字;和密码;忘记也没关系; (2)设置SQLxx设置SQLxx的TCP/IP,一般默认端口是1433,如果不是,则需要更改;SQL ServerConfigurationManage-SQLserverxx网络配置-MSSQLSERVER的协议-TC/PIP-IP地址-IPALL,把端口改为1433如果忘记安装时候的登录密码,打开SQL Serverxx中的“SQL ServerManagementStudio”,连接数据库,可以点击,安全性-登录名-然后展开登录名-选择用户,修改密码。 48 (3)clipse连接到SQLxx附件中有三个jar包,在eclipse中代码添加完毕后,添加这三个jar包。 (4)在SQL Serverxx附加图书管理系统中的数据库a.在SQLxx的安装目录下的Data文件中添加数据库文件C:Program FilesMicrosoftSQL ServerMSSQL.1MSSQLData文件夹中添加java图书馆管理系统Database的扩展名为db_library_Data.MDF和db_library_Log.LDF的两个文件。 b.打开SQL Serverxx中的“SQL ServerManagement Studio”,连接数据库,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“附加”菜单项。 点击添加刚刚添加Data目录的文件。 选择所要附加数据库的db_library_Data.MDF文件,单击【确定】按钮,即可完成数据库的附加操作。 (5)新建Java项目,命名为libraryManager,在libraryManager项目中分别新建源文件命名为src、res,在源文件src中分别新建包命名为.wsy、.wsy.dao、.wsy.iframe、.wsy.JComPz、.wsy.model、.wsy.util,在对应的包下新建如下图所示的J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字化转型背景下金融机构风险管理与企业风险管理创新实践研究案例报告
- 强电工程安装方案(3篇)
- 2025年汉语达标试卷及答案
- 江西球场照明工程方案(3篇)
- 《2025企业解除劳动合同的范本》
- 2025年企业 健康试题及答案
- 农艺工实操考试试题及答案
- 2025年厢式货车项目发展计划
- 里水降水井工程方案(3篇)
- 2025年经济与商务咨询服务合作协议书
- 大学生寒暑假社会实践活动登记表
- 保险反思心得体会(10篇)
- 哈工大版理论力学课件
- 常见鸟类图鉴
- 五年级英语阅读理解试题及答案15篇(word文档)
- 中华人民共和国史马工程课件01第一章
- GB/T 36713-2018能源管理体系能源基准和能源绩效参数
- GB/T 17769-1999航空运输集装器的管理
- 药品注册审评员考核试题及答案
- 机器人常用手册-系列中文版-epx2900a00使用说明书
- optimact540技术参考手册
评论
0/150
提交评论