Java基础点名器
需求:我有一个文件里面存储了班级同学的名字,每一个姓名占一行,要求通过程序实现随机点名器
思路:
① 创建字符缓冲流
② 创建ArrayList集合对象
③ 调用字符缓冲输入流对象的方法读数据
④ 把读取到的字符串数据存储到集合中
⑤ 释放资源
⑥ 使用Random产生一个随机数,随机数的范围在【0,集合的长度】
⑦ 吧第六步产生的随机数作为索引到ArrayList集合中获取值
⑧ 把第七步得到的数据输出在控制台
代码如下:
import java.io.*;
import java.util.ArrayList;
import java.util.Random;
//点名器
public class RollCaller {
public static void main(String[] args) throws IOException {
//定义一个集合用于接收读取出来的姓名
ArrayList<String> student = new ArrayList<>();
定义读取字符缓冲流
BufferedReader br = new BufferedReader(new FileReader("IO\\Name.txt"));
String s;
//每次读取一行且忽略换行符号
while ((s = br.readLine()) != null) {
//将读取出来的姓名添加到集合中
student.add(s);
}
br.close();//释放流
//通过集合索引来随机筛选出姓名
Random r = new Random();
int i = r.nextInt(student.size());
System.out.println("今天夜晚买单的是" + student.get(i));
}
}