Scanner 的基本使用规则
我们可以通过Scanner类来获取用户的输入
基本语法:
Scanner scanner = new Scanner(System.in);
Random的基本使用规则
1、random.random()
随机生成(0,1)之间的浮点数
2、random.randint(上限,下限)
随机生成在范围之内的整数,两个参数分别表示上限和下限
3、random.randrange( , , )
在指定范围内,按指定基数递增的集合中获得一个随机数,有三个参数,前两个参数代表范围上限和下限,第三个参数是递增增量,不包括下限,包括上限
使用方式如下:
random.randrange( 0,11,2)
随机产生范围为10间隔为2的数
注:这里输出(0,2,4,6,8,10)中一个
4、random.choice(list)
从序列中随机抽选一个数
5、random.shuffle(list)
随机排序
注:list元素为数值型
random.seed(0)设置初始化随机数种子
package lx;
import zy.Rabdom;
import java.sql.SQLOutput;
import java.util.*;
public class arr {
public static void main(String[] args) {
//可以使用Arrays的asList实现序列化一个集合
List<String> list= Arrays.asList("叶枫","饶政","郭汶广","王志刚","时力强","柴浩阳","王宁","雷坤恒",
"贠耀强","齐东豪","袁文涛","孙啸聪","李文彬","孙赛欧","曾毅","付临",
"王文龙","朱海尧","史艳红","赵冉冉","詹梦","苏真娇","张涛","王浩",
"刘发光","王愉茜","牛怡衡","臧照生","梁晓声","孔顺达","田野","宫帅龙",
"高亭","张卓","陈盼盼","杨延欣","李蒙惠","瞿新成","王婧源","刘建豪",
"彭习峰","胡凯","张武超","李炳杰","刘传","焦泽国");
//把list作为参数重新构建一个新的ArrayList集合
ArrayList<String> names=new ArrayList<>(list);
//使用Scanner.Random,Arraylist完成一个不重复的点名程序
Random ra=new Random();
Scanner sc=new Scanner(System.in);
while(true){
//如果集合中没有元素,则结束循环
if (names.size()==0){
System.out.println("已完成所有学生抽查,抽查结束请重新开始!");
break;
}
System.out.println("确认点名请输入Y/y");
String input=sc.next();
if (input.equals("Y")||input.equals("y")){
//随机一个集合的下标
int index=ra.nextInt(names.size());
System.out.println("本次抽到:"+names.get(index));
//该学生已被抽到,把他从集合中移除
names.remove(index);
}else{
System.out.println("本次抽查结束!");
break;
}
}
}
}