Java实验 常用系统类
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六常用系统类
【开发语言及实现平台或实验环境】
Windows2000 或XP,JDK1.6与Jcreator4.0
【实验目的】
1.了解Java 常用的系统类,包括Java Applet、字符串类、输入输出流类、数学函数类、日期类、随机数类以及向量类等的基本使用方法。
2.理解Java 系统类的构成。
【实验要求】
1. 进一步了解Applet 类。
2. 掌握字符串类的使用方法。
3. 掌握数学函数类的使用方法。
4. 掌握日期类的使用方法。
5. 掌握向量类的使用方法
【实验内容】
(一)了解Applet 的生命周期
程序运行从开始大结束的过程称为程序的生命周期。独立应用程序的生命周期从main ()方法开始,直到运行结束。而Applet 应用程序的生命周期与浏览器相关。作为浏览器的一部分,Applet 程序何时运行,何时结束都由浏览器控制,Applet 对象只是作为浏览器窗口中运行的一个线程。浏览器与Applet 具有如下关系。
●在浏览器中打开包含Applet 对象的页面时,创建并初始化其中的Applet 对象。
●显示Applet 时,启动Applet 线程运行。
●不显示Applet 时,停止 Applet 线程运行。
●在浏览器中关闭页面窗口时,销毁Applet 对象。
与此相应,Applet 类中声明了与生命周期相关的4 个方法:init()、start()、stop()、destroy()。4 个方法代表Applet 的4 个活动阶段。
1.创建揭示Applet 生命周期的程序LX5_1.java。
(1)程序功能:本程序包含Applet 的4 个与生命周期相关的方法init()、start()、stop()、destroy()。程序中创建了自定义方法addWords()来显示相应的字符串。addWords 方法首先在标准输出即屏幕上显示字符串参数,然后将字符串添加到字符串缓冲区buffer,通过调用repaint 方法重画页面,首先自动调用updata 方法将当前画面清空,然后再调用paint 方法在指定位置显示字符串。
(2)编写LX5_1.java 程序文件,源代码如下。
import java.applet.Applet;
import java.awt.Graphics;
public class LX5_1 extends Applet {
StringBuffer buffer=new StringBuffer();
public void init() {
addWords("执行了初始化方法 init()...");
}
public void start() {
addWords("执行了开始方法start()...");
}
public void stop() {
addWords("执行了停止方法stop()...");
}
public void destroy() {
addWords("执行了清除方法destroy()...");
}
void addWords(String s) {
System.out.println(s);
buffer.append(s);
repaint();
}
public void paint(Graphics g) {
g.drawString(buffer.toString(),5,15);
}
}
2.编译LX5_1.java 文件。
3.编写显示LX5_1.class 的页面文件LX5_1.html,代码如下。
4.在命令提示符窗口调用小程序查看器浏览LX5_1.html 页面观察Applet 应用程序,其结果如图
5.1 所示。在图5.2 所示的命令提示符窗口可以看到,在打开LX5_1.html 时,出现了如图5.1 所示的情况,表示执行了初始化方法和开始方法。当关闭LX5_1.html 时,在命令提示符窗口可以看到如图5.2 所示执行停止和销毁方法。
图5.1
5.程序分析:本程序不仅揭示了与生命周期相关的4 个方法,还揭示了Applet 显示和刷新的3个方法:paint()、repaint()和updata()方法。Applet 的显示和刷新由一个独立线程控制,称为AWT 线程。AWT 线程的处理机制有两种情况。
(1)自动执行paint 方法重新绘图
如果程序中重写paint()方法,当浏览器运行时,AWT 线程将自动在Applet 上绘制图形;或者Applet 内容被覆盖,当其他窗口关闭或移开时,AWT 线程会自动调用paint 方法,重画曾被覆盖的部分。
(2)调用repaint 方法重新绘图
程序中如果需要重新绘图,可以调用repaint 方法,AWT 线程会自动调用updata 方法首先清空当前页面,然后调用paint 方法重新绘制图形。
二.使用字符串与字符串类
ng 有两个字符串类String 和StringBuffer,封装了字符串的全部操作。其中String 用来处理创建以后不再改变的字符串,StringBuffer 用来处理可变字符串。String 和StringBuffer 为最终类,不能派生子类,可以防止用户修改。String 和StringBuffer 类在运行时要经历严格的边界条件检验,可以自动捕获异常,可以提高程序的健壮性。
1.创建使用String 和StringBuffer 类的程序
(1)程序功能:实现字符串的翻转。
(2)编写LX5_2.java 程序文件,源代码如下。
import java.applet.Applet;
import java.awt.Graphics;
public class LX5_2 extends Applet {
public void paint(Graphics g) {
String str="这是一个字符串——This is a test string";
g.drawString("正常字符串:"+str, 30, 30);
g.drawString("翻转字符串:"+reverse(str), 30, 60);
}
public String reverse(String s) {
int len=s.length();
StringBuffer buffer=new StringBuffer(len);
for (int i=len-1; i>=0; i--)