Java程序设计实验指导.docx

上传人:b****3 文档编号:24729040 上传时间:2023-06-01 格式:DOCX 页数:16 大小:22.44KB
下载 相关 举报
Java程序设计实验指导.docx_第1页
第1页 / 共16页
Java程序设计实验指导.docx_第2页
第2页 / 共16页
Java程序设计实验指导.docx_第3页
第3页 / 共16页
Java程序设计实验指导.docx_第4页
第4页 / 共16页
Java程序设计实验指导.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Java程序设计实验指导.docx

《Java程序设计实验指导.docx》由会员分享,可在线阅读,更多相关《Java程序设计实验指导.docx(16页珍藏版)》请在冰豆网上搜索。

Java程序设计实验指导.docx

Java程序设计实验指导

附一、实验报告填写方法

附1.1实验开发环境

1.硬件:

IntelP42.4G/256M/40GPC机一套;

2.软件:

WindowsXP+j2sdk1.5.0+JCreatorPro3.1.0+(MSAccess2000)

附1.2实验过程要求

1.在上课的同时,将每个实验预习的每个例题直接完成在实验指导书上;

2.在实验之前,将实验要求的程序写在草稿本上;

3.每次实验之前需要把实验指导书和写有程序的草稿纸带上,以备检查,否则不能进入实验室。

4.实验过程中,不能做与实验无关的事情(如:

打游戏、看其他书籍),否则本次实验成绩记0分,在遇到问题的时候举手提问,同学之间交流的声音不可太大。

附1.3实验报告内容填写

1.第1页:

填写

(1)实验目的、

(2)实验要求

2.第2页~第3页:

填写(3)实验程序源代码

3.第4页:

填写(4)实验运行结果、(5)实验总结

实验一:

Java基础程序设计

Java程序设计语言同大多数程序设计语言一样,具有一些基本特性。

本节实验主要练习Java编程语言的这些基本特性,如Java中的简单数据类型,运算符和表达式,这是学习Java语言必须经过的基础阶段。

掌握了本节实验所讲述的内容后,应该能够对Java程序的构成有一个基本的理解,能够灵活运用Java语言提供的各种数据类型和运算符。

学好Java语言必须具备扎实的语言基础,这对后续学习是很有必要的。

Java程序通过控制语句来执行程序流,完成一定的任务。

程序流是由若干个语句组成的,语句可以是单一的一条语句,也可以是用大括号{}括起来的一个复合语句。

Java中的控制语句主要有分支语句(if-else,switch).循环语句(while,do-while,for)与程序转移有关的跳转语句(break,continue,return)。

本节实验将学习如何控制程序的流程,使程序实现不同功能。

1.1实验目的:

1.掌握Java语言的数据类型。

2.掌握Java语言的运算符和表达式。

3.掌握Java语言的运算符的优先级。

4.学会使用if和if-else和switch分支语句。

5.学会使用while,do-while和for循环语句。

6.学会使用break和continue程序控制语句。

7.进一步熟悉java语言开发环境,掌握Java程序的编辑,编译和运行过程;能够设计具有一定算法的输出程序。

1.2实验预习:

1.Java语言源程序是由Java语言的基本语句构成的,Java语言的语句基本上同C/C++语言的语句一样。

有些在C/C++语言程序中容易产生错误的语句已被Java语言所抛弃。

通过下面的实验步骤,读者可以编写简单的Java程序。

例1-1在横线上填出下列变量的定义类型。

publicclassexample1{

publicstaticvoidmain(stringargs[]){

_________________x=45;

_________________y=3.14f;

_________________z=3.1415;

_________________truth=true;

_________________c=’6’;

//……..更多

}

}

2.利用输出语句来实现数据的格式化显示

Java语言中的输出语句,可以通过调用System.out中的println方法(或print方法),在练习数据格式化显示之前,我们在通过下面两个简单的例子对比一下println方法和print方法的区别。

例1-2观察下面应用程序的打印结果。

打开文本编辑器,输入下列代码:

publicclassasterisk{

publicstaticvoidmain(stringargs[]){

System.out.print(“*”);

System.out.print(“***”);

System.out.print(“*****”);

}

}

在没有编译运行之前,读者能否得出上面程序的运行结果:

_____________________________________

______________________________________

_____________________________________

例1-3修改例1-2。

publicclassasterisk{

publicstaticvoidmain(Stringargs[]){

System.out.println(“*”);

System.out.println(“***”);

System.out.println(“*****”);

}

}

在没有编译运行之前,读者能否得出上面程序的运行结果:

_____________________________________

______________________________________

_____________________________________

例1-4编写一个1+2+3+…..+n的程序。

2.JavaApplet的程序设计。

Applet就是使用Java语言编写的一段代码,它可以在浏览器环境中运行。

Applet与Application的区别主要在于其执行方式的不同:

Application是从其中的main()方法始运行的,而Applet是在浏览器中运行的,必须创建一个HTML支件,通过编写Html语言代码告诉浏览器载入何种Applet以及如何运行。

1)编写java程序文件

打开文本编辑器,输入下列代码:

importjava.awt.Graphics;

importjava.applet.Applet;

publicclassMyFirstAppletextendsApplet{

publicStrings;

publicvoidinit(){

s="JavaWorld!

";

}

publicvoidpaint(Graphicsg){

g.drawString(s,5,25);

}

}

2)创建HTML文件件

在运行创建的MyFirstApplet.class之前,还需创建一个HTML文件,把Applet类放入其中,appletviewer或浏览器将通过该文件访问创建的Applet。

打开文本编辑器并输入如下代码:

代码中CODE标志指定Applet的类名,WIDTH和HEIGHT标志指定Applet的像素尺寸,编辑好后存盘,文件名是MyFirstApplet.html。

此文件名可随意确定,不是必须与类名相同。

该例中的名字也可叫HelloApplet.html。

3)运行Applet小程序

有两种方式可以运行javaApplet:

(1)在浏览器下运行,如IE、Netscape等,打开HTML文件,即可直接执行。

(2)通过Jcreator或命令行,使用AppletViewer,直接运行HTML文件。

1.3实验内容及要求:

(1)设计简单的java程序,主要包含Application和Applet两种程序。

(2)设计一个99表打印的Application程序,要求程序简单,行列对齐美观。

(3)输出100000之内的所有素数(即非1和自身不能被其他数除尽的数)要求程序简单,程序运行速度较快,行列对齐美观。

实验二:

面向对象设计基础——复数类的实现

类是面向对象程序设计的基础,是java的核心和本质所在。

在java中,所有的语言元素都必须封装在类中。

编写java程序的过程就是从现实世界中抽象出java可实现的类,并用合适的语句定义它们的过程。

本节实验将学习类的应用,及如何创建类的实例。

通过类的继承更有效地组织程序结构,明确类之间的关系。

掌握了本节实验所讲诉的内容之后,读者就可以使用面向对象技术编写java程序了。

2.1实验目的:

1.掌握java面向对象程序设计的基本思想。

2.掌握类的定义和使用。

3.掌握对象的声明和使用。

4.了解构造函数的概念和使用。

5.掌握类的继承关系和派生方法。

6.掌握多态的概念与使用。

2.2实验预习:

在前面的实验的例题中,都定义了一个类。

那么如何编写自己的java类呢?

下面我们将从如何定义类开始,逐步学习面向对象的程序设计方法。

1)阅读下面的程序,在main()方法里添加语句完成如下功能:

①创建一个MyValue类的对象myValue。

②为myValue对象中的value赋值10。

③使用getVaule()方法获得myValue对象中的数据并将它打印在屏幕上

例2-1:

li2_1.java

classMyValue{

privateintvalue;

publicvoidsetValue(intx){

value=x;

}

publicintgetValue(){

returnvalue;

}

}

publicclassli2_1{

publicstaticvoidmain(String[]args){

____________________________________;

____________________________________;

____________________________________;

____________________________________;

}

}

2)试编写Java代码实现一个计数器类Computer其中包括:

①用counterValue来保存计数器的当前值。

②方法increment()计数器加一。

⑧方法decrement()计数器减一。

④方法reset()计数器清零。

(1)例3-1:

li2_1.java

打开文本编辑器,输入下列代码:

classTree{

intheight=0;

Stringname=newString("null");

Tree(inth){

height=h;

System.out.println("带整型参数的构造函数");

}

Tree(Stringn,inth){

this(h);//调用前一个的构造方法

this.name=n;

System.out.println("带整型和字符串型参数的构造函数");

}

Tree(){

this("香蕉树",47);

System.out.println("默认的构造函数");

}

voidshowme(){

System.out.println("产生树名为"+name+",树高为"+height);

}

}

publicclassli3_1{

publicstaticvoidmain(String[]args){

Treemytree=newTree();

mytree.showme();

}

在没有编译运行之前,能否得出上面程序的运行结果:

_____________________________________

_____________________________________

_____________________________________

_____________________________________

_____________________________________

2.3实验内容及要求:

定义一个复数类,并实现以下复数类的方法:

构造方法、得到实部、得到虚部、设置实部、设置虚部、复数的加法,减法,乘法,最后,创建对象进行运算。

1、复数类Complex必须满足如下要求:

(1)复数类Complex的属性有:

RealPart:

double型,代表复数的实数部分

ImaginPart:

double型,代表复数的虚数部分

(2)复数类Complex的方法有:

Complex():

构造函数,将复数的实部和虚部都置0。

Complex(doubler,doublei):

构造函数,形参r为实部的初值,i为虚部的初值。

doublegetReal():

获得复数对象的实部;

doublegetImagin():

获得复数对象的虚部;

booleanEquals(Complexa):

判断当前复数对象与形参复数对象是否相同,相同返回真,不相同返回假。

ComplexcomplexAdd(Complexa):

将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。

ComplexcomplexSub(Complexa):

将当前复数对象与形参复数对象相减,所得的结果仍是一个复数值,返回给此方法的调用者。

ComplexcomplexMulti(Complexa):

将当前复数对象与形参复数对象相乘,所得的结果仍是一个复数值,返回给此方法的调用者。

StringtoString():

把当前复数对象的实部、虚部组合成a+bi的字符串形式,其中a和b分别为实部和虚部的数据。

2、创建对象进行运算

另写一个Demo类,利用Complex类创建3个复数对象,其中两个用作源数,一个用作运算结果,对Complex类进行测试。

实验三:

身份证号码的分析

字符串、数组都是使用Java语言编写程序经常使用的数据结构,因此,熟练使用这些数据结构是进一步学习Java程序设计的基础。

与其他语言不同的是,Java中的数组和字符串是一个真正的对象,而不像其他语言那样是一个零结尾的字符数组。

通过本节的实验和练习,读者应能够熟练掌握字符串、数组的各种基本操作。

3.1实验目的:

掌握java类的核心类库的使用,熟悉java的字符串常量(String)和字符串变量(StringBuffer)对象的构造和类方法的应用。

掌握数组的定义和使用方法。

了解数组的构造方法和常用方法。

了解字符串常量与String类。

了解字符串变量与StingBuffer类。

3.2实验预习:

数组是我们最常见的一种数据结构,他的操作方法并不多,主要用于存取一些同类型的数据。

1)例4-2:

li4_2.java

打开文本编辑器,输入下列代码:

publicclassli4_2{

publicstaticvoidmain(Stringargs[]){

Stringtemp;

Stringko[]={"TurboC","QBaisc","Java","Pascal"};

intx=ko.length;

for(intm=0;m

for(intn=m+1;n

if(ko[m].compareTo(ko[n])>0){

temp=ko[m];ko[m]=ko[n];ko[n]=temp;

}

}

}

for(ints=0;s

System.out.println(ko[s]);

}

}

在没有编译运行之前,读者能否得出上面程序的运行结果:

字符串的方法比较多,下面我们通过练习,进一步理解。

2)例4-3:

li4_3.java

打开文本编辑器,输入下列代码:

importjava.lang.*;

classli4_3{

publicstaticvoidmain(Stringargs[]){

Strings1="AbCde";//定义字符串s1

Strings2="bC";//定义字符串s2

System.out.println("字符串s1为:

"+s1);

System.out.println("字符串s1长度为:

"+s1.length());

System.out.println("字符串s2为:

"+s2);

System.out.println("字符串s2长度为:

"+s2.length());

System.out.println("s1大写为:

"+s1.toUpperCase());

System.out.println("s2小写为:

"+s2.toLowerCase());

for(inti=0;i

System.out.println("si中第"+i+"个字符是:

"+s1.charAt(i));

}

System.out.println("s1+s2="+s1+s2);

if(pareTo(s2)==0)

System.out.println("s1与s2相等");

else

System.out.println("s1与s2不相等");

if(s1.indexOf(s2)!

=-1){

System.out.println("s2是s1的子串");

System.out.println("s2在s1中的位置为:

"+s1.indexOf(s2));

}

else{

System.out.println("s2不是s1的子串");

}

System.out.println("经过以上操作,s1与s2没有变化:

");

System.out.println("字符串s1仍然为:

"+s1);

System.out.println("字符串s2仍然为:

"+s2);

}

}

在没有编译运行之前,读者能否得出上面程序的运行结果:

写于程序右方

3.3实验内容及要求:

从键盘上输入一个身份证号码:

回车之后,判断是否为正确号码(位数不为18不正确);如果正确,打印出该人的生日和性别和年龄,并测试其效验码是否正确。

最后一位为效验码。

效验码的公式为:

(Σ(ai×wi))%11

其中:

i是从右向左的包括效验码在内的序号(1-18)

ai是第i位上号码的字符值

wi是第i位上的加权因子,其数值依据公式wi=(2(i-1))%11

求出(Σ(ai×wi))%11之后依据下表得到效验码:

(Σ(ai×wi))%11

0

1

2

3

4

5

6

7

8

9

10

效验码值

1

0

X

9

8

7

6

5

4

3

2

(3)计算ab:

函数为:

java.lang.Math.pow(a,b)

(4)判断是否整数:

函数为:

java.lang.Integer.parseInt(Stringstr)

实验四:

图形界面设计

Java语言中图形用户界面(GUl)库设计目的是让程序员构建一个通过界面,让其在所有平台上都能正常显示。

基础类AWT和Swing就是为此设计的,AWT为可靠的应用程序建立图形用户界面,并且可以使开发出来的软件的清晰、友好。

本节实验将学习图形用户界面的编写。

4.1实验目的:

1)了解java.awt包及Swing的新增特性。

2)了解Java系统图形用户界面的基本工作原理和界面设计的步骤。

3)掌握图形用户界面各种布局策略的设计与使用。

4)了解图形用户界面的事件响应机制,并能进行常用的事件处理,如按钮事件、键盘事件、窗口事件等。

5)掌握图形用户界面各种常用的基本组件的使用方法及其事件响应。

4.2实验预习:

对一个优秀的应用程序来说,良好的图形用户界面是必不可少的。

因为只有图形界面,用户才能够与程序友好的交互。

缺少良好的图形用户界面,将会给用户操作应用程序带来很多不便。

创建一个完整的图形用户界面的应用程序大致流程如下:

1)引用需要的包和类。

2)设置一个顶层的容器。

3)根据需要为容器设置布局管理器或使用默认布局管理器。

4)将组件添加到容器内,位置自行设计。

5)为响应事件的组件编写事件处理代码。

下面是两个个综合实例:

例1:

ko5_1.java,这是一个窗口界面程序,试读程序,读完之后画出界面并叙述其功能。

importjava.awt.*;

importjava.awt.event.*;

classMyFrameextendsFrame{

TextFieldt1;

publicMyFrame(Stringstr){

super(str);

setLayout(newFlowLayout());

setSize(400,200);

Buttonb1=newButton("Test");

Buttonb2=newButton("Exit");

t1=newTextField(50);

//////////////////

MyListenerClassbln=newMyListenerClass();

b1.addActionListener(bln);

b2.addActionListener(bln);

/////////////////////

add(b1);

add(b2);

add(t1);

}

classMyListenerClassimplementsActionListener{

publicvoidactionPerformed(ActionEvente){

if(e.getActionCommand()=="Test"){

t1.setText(t1.getText()+"b1..Hit..");

}else{

System.exit(0);

}

}

}

}

publicclassFrameEventDemo{

publicstaticvoidmain(Stringargs[]){

MyFramefr=newMyFrame("EventTest");

fr.show();

}

}

例2:

将上述程序修改为有一个输入框和一个输出框的界面,能输入数据并计算结果。

4.3实验内容及要求:

制作如图一个留言板的界面,并按要求加入所需控件,并能按要求进行窗口控件的布局。

并按要求为按钮、文本框、窗口添加事件,使之实现提交显示留言,清屏,留言至顶和至尾。

注意:

清屏代表清除留言内容,至顶和至尾需要移动文本区域里面的光标(setCaretPosition(int位置)),使其指向第一个位置和最后一个位置。

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

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1