您好,欢迎来到微智科技网。
搜索
您的当前位置:首页Java程序设计实验指导

Java程序设计实验指导

来源:微智科技网


附一、实验报告填写方法

附1.1 实验开发环境

1. 硬件:Intel P4 2.4G/256M/40G PC机一套;

2. 软件:Windows XP+j2sdk1.5.0+JCreator Pro 3.1.0+(MS Access 2000)

附1.2实验过程要求

1. 在上课的同时,将每个实验预习的每个例题直接完成在实验指导书上; 2. 在实验之前,将实验要求的程序写在草稿本上;

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

不能进入实验室。

4. 实验过程中,不能做与实验无关的事情(如:打游戏、看其他书籍),否则本

次实验成绩记0分,在遇到问题的时候举手提问,同学之间交流的声音不可太大。

附1.3实验报告内容填写

1. 第1页:填写(1)实验目的、(2)实验要求 2. 第2页~第3页:填写(3)实验程序源代码 3. 第4页:填写(4)实验运行结果、(5)实验总结

1

实验一: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 在横线上填出下列变量的定义类型。 public class example1 {

public static void main (string args[ ] ) {

_________________ x=45; _________________ y=3.14f;

2

_________________ z=3.1415; _________________ truth=true; _________________ c=’6’; //……..更多 }

}

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

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

例1-2 观察下面应用程序的打印结果。 打开文本编辑器,输入下列代码: public class asterisk {

public static void main (string args [ ] ) { System.out.print(“*”);

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

在没有编译运行之前,读者能否得出上面程序的运行结果: _____________________________________ ______________________________________ _____________________________________ 例1-3 修改例1-2。 public class asterisk {

public static void main (String args [ ] ) { System.out.println (“*”);

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

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

3

_____________________________________

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

2.Java Applet的程序设计。

Applet就是使用Java语言编写的一段代码,它可以在浏览器环境中运行。Applet与Application的区别主要在于其执行方式的不同:Application是从其中的main()方法始运行的,而Applet是在浏览器中运行的,必须创建一个HTML支件,通过编写Html语言代码告诉浏览器载入何种Applet以及如何运行。

1)编写java程序文件

打开文本编辑器,输入下列代码: import java.awt.Graphics; import java.applet.Applet;

public class MyFirstApplet extends Applet{ public String s; public void init(){ s=\" Java World! \";

}

public void paint(Graphics g){

g.drawString(s,5,25) ; } }

2)创建HTML文件件

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

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

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

此文件名可随意确定,不是必须与类名相同。该例中的名字也可叫

4

HelloApplet.html。

3)运行Applet小程序

有两种方式可以运行java Applet:

(1)在浏览器下运行,如IE、Netscape等,打开HTML文件,即可直接执行。 (2)通过Jcreator或命令行,使用AppletViewer,直接运行HTML文件。

1.3实验内容及要求:

(1)设计简单的java程序,主要包含Application和Applet两种程序。 (2)设计一个99表打印的Application程序,要求程序简单,行列对齐美观。 (3)输出100000之内的所有素数(即非1和自身不能被其他数除尽的数)要求程序简单,程序运行速度较快,行列对齐美观。

5

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

类是面向对象程序设计的基础,是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 class MyValue{ private int value;

public void setValue(int x) { value = x; }

public int getValue(){ return value; }

6

}

public class li2_1 {

public static void main (String [] args) {

____________________________________; ____________________________________; ____________________________________;

____________________________________;

}

}

2)试编写Java代码实现一个计数器类Computer其中包括: ①用counterValue 来保存计数器的当前值。 ②方法increment()计数器加一。 ⑧方法decrement()计数器减一。 ④方法reset()计数器清零。 (1)例3-1:li2_1.java

打开文本编辑器,输入下列代码: class Tree{ int height=0;

String name=new String(\"null\"); Tree(int h) { height=h;

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

Tree (String n, int h) {

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

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

this (\"香蕉树\

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

void showme () { 7

}

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

public class li3_1 {

public static void main (String [] args) { }

2.3实验内容及要求:

定义一个复数类,并实现以下复数类的方法:构造方法、得到实部、得到虚部、设置实部、设置虚部、复数的加法,减法,乘法,最后,创建对象进行运算。 1、 复数类Complex必须满足如下要求: (1) 复数类Complex 的属性有:

RealPart : double型,代表复数的实数部分 ImaginPart : double型,代表复数的虚数部分 (2) 复数类Complex 的方法有:

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

Complex( double r , double i ) : 构造函数,形参 r 为实部的初值,i为虚部的初值。

double getReal(): 获得复数对象的实部; double getImagin (): 获得复数对象的虚部;

boolean Equals(Complex a) : 判断当前复数对象与形参复数对象是否相同,相同返回真,不相同返回假。

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

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

_____________________________________ _____________________________________ _____________________________________ _____________________________________ _____________________________________ Tree mytree=new Tree(); mytree.showme();

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

8

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

String toString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。 2、创建对象进行运算

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

9

实验三:身份证号码的分析

字符串、数组都是使用Java语言编写程序经常使用的数据结构,因此,熟练使用这些数据结构是进一步学习Java程序设计的基础。与其他语言不同的是,Java中的数组和字符串是一个真正的对象,而不像其他语言那样是一个零结尾的字符数组。通过本节的实验和练习,读者应能够熟练掌握字符串、数组的各种基本操作。

3.1 实验目的:

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

3.2 实验预习:

数组是我们最常见的一种数据结构,他的操作方法并不多,主要用于存取一些同类型的数据。 1)例4-2:li4_2.java

打开文本编辑器,输入下列代码: public class li4_2 {

public static void main(String args[]) { String temp;

String ko[]={\"Turbo C\ int x=ko.length;

for (int m=0;mif (ko[m].compareTo(ko[n])>0){

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

}

10

} }

for (int s=0;s}

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

字符串的方法比较多,下面我们通过练习,进一步理解。 2)例4-3:li4_3.java

打开文本编辑器,输入下列代码: import java.lang.*; class li4_3{ public static void main(String args[]){ String s1=\"AbCde\";//定义字符串s1 String s2=\"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(int i=0;i}

System.out.println(\"s1+s2=\"+s1+s2); if(s1.compareTo(s2)==0) System.out.println(\"s1与s2相等\"); else

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

}

}

if(s1.indexOf(s2)!=-1){ } else{ }

System.out.println(\"经过以上操作,s1与s2没有变化:\"); System.out.println(\"字符串s1仍然为:\"+s1); System.out.println(\"字符串s2仍然为:\"+s2); System.out.println(\"s2不是s1的子串\"); System.out.println(\"s2是s1的子串\");

System.out.println(\"s2在s1中的位置为:\"+s1.indexOf(s2));

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

写于程序右方

3.3 实验内容及要求:

从键盘上输入一个身份证号码:回车之后,判断是否为正确号码(位数不为18不正确);如果正确,打印出该人的生日和性别和年龄,并测试其效验码是否正确。

最后一位为效验码。效验码的公式为:(Σ(ai×wi))%11

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

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

7 5 8 4 9 3 10 2 其中:i是从右向左的包括效验码在内的序号(1-18)

求出(Σ(ai×wi))%11之后依据下表得到效验码: (Σ(ai×wi))%11 0 1 2 3 4 5 6 效验码值 1 0 X 9 8 7 6

(3)计算ab:函数为:java.lang.Math.pow(a,b)

(4)判断是否整数:函数为:java.lang.Integer.parseInt(String str)

12

实验四:图形界面设计

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,这是一个窗口界面程序,试读程序,读完之后画出界面并叙述其功能。 import java.awt.*; import java.awt.event.*; class MyFrame extends Frame{ TextField t1;

13

public MyFrame (String str){ super(str);

setLayout(new FlowLayout()); setSize(400,200);

Button b1 = new Button(\"Test\"); Button b2 = new Button(\"Exit\"); t1=new TextField(50); //////////////////

MyListenerClass bln = new MyListenerClass(); b1.addActionListener(bln); b2.addActionListener(bln); ///////////////////// add(b1); add(b2); add(t1);

}

class MyListenerClass implements ActionListener{ public void actionPerformed(ActionEvent e) { if( e.getActionCommand()==\"Test\"){ t1.setText(t1.getText()+\"b1..Hit..\"); }else {

System.exit(0); } } } }

public class FrameEventDemo{

public static void main(String args[ ]) {

MyFrame fr = new MyFrame(\"Event Test\"); fr.show(); } }

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

14

结果。

4.3 实验内容及要求:

制作如图一个留言板的界面,并按要求加入所需控件,并能按要求进行窗口控件的布局。并按要求为按钮、文本框、窗口添加事件,使之实现提交显示留言,清屏,留言至顶和至尾。

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

15

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务