介绍Scanner类、Random类、ArrayList类的基本使用

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;
            }
        }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值