使用SCanner,Random和ArrayList完成一个不重复的点名程序

在完成这个程序之前首先要知道Scanner,Random和ArrayList是什么

(1)Scnner类是用于扫描输入文本的新的实用程序可以在程序中实现键盘输入

(2)Random类是一个随机数发生器用于生成随机数

(3)ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,可以随着元素的增加而增长,内部封装了丰富的增删改查功能,我们可以添加或删除元素

方法步骤:

1使用Arrays把数据转换成集合,这是一个固定数组形式

List<String> sp=Arrays.asList("张三","李四","王五","赵六","赵七","赵八");

2.通过构造方法创建名单集合,把sp集合中的元素一一取出放入arr集合中

  ArrayList<String> arr=new ArrayList<>(sp);

3. 使用Random随机一个集合索引,根据索引获取集合元素

Random random=new Random();

具体步骤代码如下:

package javaTest.op;

import java.util.*;

public class ArrayListTest {
    public static void main(String[] args) {
        //通过使用SCanner,Random和ArrayList完成一个不重复的点名程序

        //使用Arrays把数据转换成集合,这是一个固定数组形式
       List<String> sp=Arrays.asList("张三","李四","王五","赵六","赵七","赵八");
       //通过构造方法创建名单集合,把sp集合中的元素一一取出放入arr集合中
        ArrayList<String> arr=new ArrayList<>(sp);
        //怎么在集合中随机点名?
       //使用Random随机一个集合索引,根据索引获取集合元素
        Random random=new Random();
        Scanner sc=new Scanner(System.in);

        while (true){
            //如果集合为空结束循环
            if (arr.size()==0){
                System.out.println("点名结束");
                break;
            }

            System.out.println("请输入h/H");
            //获取从键盘输入的值
            String op= sc.next();
            if (op.equals("H")||op.equals("h")){
                int index=random.nextInt(arr.size());//随机产生集合范围内的一个值。
                String name= arr.get(index);//根据索引获取对应位置的元素
                System.out.println(name+"---------"+"主角在此");
                    arr.remove(index);
            }else {
                System.out.println("点名结束");
                break;
            }
        }

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值