附一、实验报告填写方法
附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;m 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
本站由北京市万商天勤律师事务所王兴未律师提供法律服务