4【需求】----点名器:在第3个实验中生成一个nametxt文件里面存储了班级同学的姓名每个姓名占一行要求通过程序实现随机点名器。【思路】1 创建字符缓冲输入流对象2 创建ArrayList集合对象3 通过字符缓冲输入流对象的方法读数据每读一个名字一行数据数据作为集合元素存储到集合中。4 释放资源5 使用Random产生一个随机数:范围为【0集合的长度6 随机数作为索引获取集合的元素并输出。使用
实现如下:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;
public class RollCall {
public static void main(String[] args) {
BufferedReader reader = null;
ArrayList<String> names = new ArrayList<String>();
try {
reader = new BufferedReader(new FileReader("name.txt"));
String line;
while ((line = reader.readLine()) != null) {
names.add(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
int index = new Random().nextInt(names.size());
System.out.println("今天的点名结果是:" + names.get(index));
}
}
注:本代码使用了try-with-resources的方式来自动释放资源,需要JDK1.7及以上版本支持
原文地址: https://www.cveoy.top/t/topic/fGhu 著作权归作者所有。请勿转载和采集!