实验 6 常用系统类的使用
一、实验目的
了解 Java 常用的系统类,包括 Java Applet、字符串类、输入输出流类、数学函数类、日期类、随机数类以及向量类等的基本使用方法。理解 Java 系统类的构成。
二、实验要求
1. 进一步了解 Applet 类。
2. 掌握不同类型的输入输出流类,标准数据流、文件流、数据输入输出流、对象流等。
3. 掌握数学函数类的使用方法。
4. 掌握日期类的使用方法。
5. 掌握向量类的使用方法。
三、实验内容
(一)了解 Applet 的生命周期
1. 编写 KY6_1.java 程序文件,源代码如下。
import java.applet.Applet;
import java.awt.Graphics;
public class KY5_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. 编译 KY5_1.java 文件。
3. 编写显示 KY5_1.class 的页面文件 KY5_1.html,代码如下。
4. 在命令提示符窗口调用小程序查看器浏览 KY5_1.html 页面观察 Applet 应用程序,
(二)使用数学函数类
Math 是一个最终类,含有基本数学运算函数,如指数运算、对数运算、求平方根、三角函数、随机数等,可以直接在程序中加Math.前缀调用。
1. 创建使用Math 类的应用程序KY5_8.java,源程序如下。
import java.util.*;
class KY5_8 {
public static void main(String args[]) {
Random r1=new Random(1234567890L);
Random r2=new Random(1234567890L);
boolean b=r1.nextBoolean(); // 随机数不为0 时取真值
int i1=r1.nextInt(100); // 产生大于等于0 小于100 的随机数
int i2=r2.nextInt(100); // 同上
double i3=r1.nextDouble(); // 产生大于等于0.0 小于1.0 的随机数
double i4=r2.nextDouble(); // 同上
double d1=Math.sin(Math.toRadians(30.0));
double d2=Math.log(Math.E);
double d3=Math.pow(2.0, 3.0);
int r=Math.round(33.6F);
System.out.println("b 的随机数不为0 时 "+b);
System.out.println("i1 的随机数为 "+i1);
System.out.println("i2 的随机数为 "+i2);
System.out.println("d1 的随机数为 "+i3);
System.out.println("d2 的随机数为 "+i4);
System.out.println("30 弧度的正弦值:Math.sin(Math.toRadians(30.0))= "+d1);
System.out.println("E 的对数值:Math.log(Math.E)= "+d2);
System.out.println("2 的3 次方:Math.pow(2.0, 3.0)= "+d3);
System.out.println("33.6F 四舍五入:Math.round(33.6F)= "+r);
}
}
2. 编译 KY6_2.java 文件。
3. 在命令提示符窗口运行 KY6_2.class 文件,并输入 1234
(三)使用日期类
Java 提供了3 个日期类:Date、Calendar 和DateFormat。其中,Date 类主要用于创建日期对象并获取日期,Calendar 类可获取和设置日期,DateFormat 类用来设置日期的格式。
Java 语言规定的基准日期为1970.1.1 00:00:00 格林威治(GMT)标准时间,当前日期是由基准
日期开始所经历的毫秒数转换出来的。
1. 使用日期类的Applate 应用程序
¨ 程序功能:说明3 个日期类Date、Calendar 和DateFormat 的使用方式及显示的样式。
¨ 编写KY5_9.java 程序文件,源代码如下。
import java.text.*;
import java.util.*;
import java.awt.*;
import java.applet.*;
public class KY5_9 extends Applet {
public void paint(Graphics g) {
Date today;
Calendar now;
DateFormat f1,f2;
String s1,s2;
today=new Date(); // 获取系统当前日期
g.drawString("字符串格式:"+today.toString(),20,20);
93
f1=DateFormat.getInstance(); // 以默认格式生成格式化器
s1=f1.format(today); // 将日期转换为字符串
g.drawString("系统格式:"+s1,20,40);
// 生成长格式的中国日期格式化器
f1=DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA);
// 生成长格式的中国时间格式化器
f2=DateFormat.getTimeInstance(DateFormat.LONG, Locale.CHINA);
s1=f1.format(today); // 将日期转换为日期字符串
s2=f2.format(today); // 将日期转换为时间字符串
g.drawString("中国格式:"+s1+" "+s2,20,60);
now=Calendar.getInstance(); // 获取系统时间
s1=now.get(now.HOUR)+" 时" +now.get(now.MINUTE)+" 分"
+now.get(now.SECOND)+"秒";
g.drawString("调整前时间:"+s1,20,80);
now.set(2004,8,15,9,9,9);
today=now.getTime();
g.drawString("调整后时间:"+today.toString(),20,100);
}
}
¨ 编译程序文件。
¨ 在浏览器中打开包含应用程序的页面文件
2. 在独立运行的应用程序中使用日期函数。
¨ 程序功能:补充说明3 个日期类Date、Calendar 和DateFormat 的使用方式及显示的样式。
¨ 编写KY5_10.java 程序文件,源代码如下。
import java.util.*;
import java.text.*;
public class KY5_10
{
public static void main (String args[])
{
Date today = new Date(); //当前日期和时间
SimpleDateFormat sdf;
sdf= new SimpleDateFormat("yyyy 年MM 月dd 日hh 时mm 分ss 秒 a EEEEE");
System.out.println("当前日期和时间: "+sdf.format(today));
long hms=System.currentTimeMillis(); //当前时间的毫秒数
System.out.println("当前时间的毫秒数="+hms);
Date tomorrow = new Date(hms+24*60*60*1000);
System.out.println("明天是"+sdf.format(tomorrow));
Calendar now = Calendar.getInstance();
int year =now.get(Calendar.YEAR); //年份
int month=now.get(Calendar.MONTH)+1; //月份
int day = now.get(Calendar.DATE); //日期
System.out.print("今天是"+year+"年"+month+"月"+day+"日");
int week = now.get(Calendar.DAY_OF_WEEK); //星期
switch (week)
{
case 1: System.out.println(" 星期日");break;
case 2: System.out.println(" 星期一");break;
case 3: System.out.println(" 星期二");break;
case 4: System.out.println(" 星期三");break;
case 5: System.out.println(" 星期四");break;
case 6: System.out.println(" 星期五");break;
case 7: System.out.println(" 星期六");break;
}
}
}
¨ 编译并运行程序
评论
查看更多