(5)点击工具栏运行按钮,运行结果如图E3-2所示。
图E3-2 运行结果
(二)实验练习题
1、编写应用程序,程序运行后随机生成100组36选7的数组(使用Random类),并统计1~36中的各个数字出现的次数。
2、编写程序,用户从输入对话框(JOptionPane.showInputDialog( )方法)输入了两个日期,程序将判断两个日期的大小关系,以及两个日期之间的间隔天数。
3、使用Timer类和TimerTask类每秒输出一次系统时间,每5秒输出一个提示信息,输出10次提示信息后程序结束。
19
实验4 集合与泛型
一、实验目的
掌握集合类与泛型的使用。
二、实验环境
MyEclipse/Eclipse
三、实验内容
(一)基本指导
1、题目:输入一行字符,分别统计出字符串中有多少种字符以及每种字符的个数。 操作步骤:
(1)启动MyEclipse,新建一个Java工程:选择菜单File->New->Java Project,就会弹出创建Java 项目的界面。在创建Java 项目的界面中,在Project name的文本框中输入“Experiment4”。单击Finish按钮完成工程的创建。
(2)在Package Explorer窗口中单击工程Experiment4前面的“+”号,在“src”上单击鼠标右键,在弹出菜单中选择New->Class,就会出现创建Java 类界面,在Package文本框中输入“statisticAndCount”,在Name文本框中输入“StatisticAndCount”,选中“public static void main(String[] args)”复选框,单击Finish按钮完成类的创建。这样就创建了一个名称为StatisticAndCount的主类。
(3)在StatisticAndCount类的main方法中输入代码如下:
package statisticAndCount; import java.util.HashMap; import java.util.Map; import java.util.Scanner;
public class StatisticAndCount {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); System.out.println(\请输入一行字符: \); String s = sc.nextLine();
int count = 0; Character ch=null;
//charMap是存储字符及其个数的集合对象
Map
if (charMap.get(ch) == null) { count = 0; } else {
count = (Integer)charMap.get(ch); }
20
}
charMap.put(ch, count + 1); }
System.out.println(charMap); }
(4)点击工具栏运行按钮,运行结果如图E4-1所示。
图E4-1 运行结果
2、题目:使用Properties类记录程序窗口上次关闭时的大小和位置,下次显示窗口时按照上次关闭时的大小和位置显示。
操作步骤:
(1)在Package Explorer窗口中工程Experiment4的“src”上单击鼠标右键,在弹出菜单中选择New->Class命令,就会出现创建Java 类界面,在Package文本框中输入“windowTest”,在Name文本框中输入“MyFrame”,单击Finish按钮完成类的创建。这样就创建了一个名称为MyFrame的类。
(2)在MyFrame类中输入代码如下:
import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; import javax.swing.JFrame;
class MyFrame extends JFrame {//JFrame类是系统窗口类
public MyFrame() {
setSize(Integer.parseInt(property.getProperty(\)),
Integer.parseInt(property.getProperty(\)));
21
//根据Properties对象的\和\设置窗口位置 addWindowListener(new MyWindowAdapter());//设置窗口事件处理 try {
Properties property = new Properties(); //加载属性文件内容到Properties对象
property.load(new FileInputStream(\)); //根据Properties对象的\和\设置窗口大小
}
setLocation(Integer.parseInt(property.getProperty(\)), }
Integer.parseInt(property.getProperty(\)));
} catch (FileNotFoundException e) { }
// 发生异常说明程序第一次运行,mysave.properties文件还未创建 setSize(600, 200);//设置初始窗口大小,宽600像素,高200像素 System.out.println(\ + e);
} catch (IOException e) {
private class MyWindowAdapter extends WindowAdapter {//事件处理内部类 }
public void windowClosing(WindowEvent wevent) {//窗口关闭事件处理 }
try { }
Properties property = new Properties();
//JFrame类的getHeight()方法、getWidth()方法返回窗口高度和宽度 //JFrame类的getX()方法和getY()方法返回窗口左上角的X和Y坐标 property.setProperty(\,
String.valueOf(getHeight()));
property.setProperty(\, property.setProperty(\,
String.valueOf(getX()));
property.setProperty(\, String.valueOf(getY())); property.store(new FileOutputStream(\),
\);
String.valueOf(getWidth()));
System.exit(0);//结束程序
System.out.println(\ + e);
} catch (Exception e) {
(3)在Package Explorer窗口中工程Experiment4的“src”下的“windowTest”上单
击鼠标右键,在弹出菜单中选择New->Class,就会出现创建Java 类界面,在Name文本框中输入“PropertiesTest”,选中“public static void main(String[] args)”复选框,单击Finish按钮完成类的创建。这样就创建了一个名称为PropertiesTest的主类。
(4)在PropertiesTest类的main方法中输入代码如下:
public class PropertiesTest {
public static void main(String[] args) { }
MyFrame frame = new MyFrame(); // 创建程序窗口
frame.setTitle(\会记住上次关闭时的大小和位置的窗口\);//设置窗口标题 frame.setVisible(true);// 显示窗口
22
}
(5)点击工具栏运行按钮,运行时会弹出一个窗口,如图E4-2所示。改变窗口的大小和位置,点击窗口关闭按钮关闭程序后,再启动程序,会发现程序窗口按照上次关闭时的大小和位置显示。
图E4-2 运行窗口
(二)实验练习题
1、定义一个学生类Student,该类定义了3个属性:学号number(String类型)、姓名name(String类型)和成绩mark(int型),类中定义一个构造方法,用来初始化类中的3个属性。为了方便显示,该类覆盖了父类Object的toString()方法,返回以下格式的字符串:\学号:\+number+\ 姓名:\+name+\ 成绩:\+mark。在main方法中创建ArrayList对象list,并添加5个Student类对象,并将list的所有元素分行显示;然后用自定义的比较器将list的元素按学号升序排序后输出。
2、编写程序,自定义一个泛型类,类型参数是数字类(Number)的子类,类中提供添加数据、返回最大值、返回最小值、返回平均值、递增排序、递减排序方法,并编写测试类进行测试。
23
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java实验指导书(5)在线全文阅读。
相关推荐: