自动点名器

班级里有N个学生,实现随机点名器

package MyApi.a00test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;

public class Test1 {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        Collections.addAll(list,"范闲","范建","范统","杜子腾","王俊凯");
   //随机点名
        //第一种
     /*   Random r=new Random();
        int index=r.nextInt(list.size());
        String name= list.get(index);
        System.out.println(name);*/
        //第二种
        Collections.shuffle(list);
        String name=list.get(0);
        System.out.println(name);
    }
}

班级里面有N个学生

要求:70%的概率随机到男生,30%的概率随机到女生

package MyApi.a00test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;

public class Test2 {
    public static void main(String[] args) {
        ArrayList<Integer> list=new ArrayList<>();
        Collections.addAll(list,1,1,1,1,1,1,1);
        Collections.addAll(list,0,0,0);
        Collections.shuffle(list);
        Random r=new Random();
        int index = r.nextInt(list.size());
        Integer number = list.get(index);
        System.out.println(number);
       ArrayList<String>  boylist=new ArrayList<>();
        ArrayList<String>  girllist=new ArrayList<>();
    Collections.addAll(boylist,"王俊凯","王源","易烊千玺","夏之光","黄俊捷","肖战","王一博");
    Collections.addAll(girllist,"杨幂","迪丽热巴","娜扎");
    if(number==1){
        int boyindex = r.nextInt(boylist.size());
        String boyname = boylist.get(boyindex);
        System.out.println(boyname);
    }
    else {
        int girlindex = r.nextInt(girllist.size());
        String girlname= boylist.get(girlindex);
        System.out.println(girlname);
    }
    }
}

要求:

被点到的学生不会在被点到,但是如果班级中所有的学生都点完了,需要重新开启第二轮点名

package MyApi.a00test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;

public class Test3 {
    public static void main(String[] args) {
        ArrayList<String> list=new ArrayList<>();
        Collections.addAll(list,"王俊凯","王源","易烊千玺","夏之光","黄俊捷","肖战","王一博","杨幂","迪丽热巴","娜扎");
       //创建一个临时的集合,用来存储已经被点到名字的学生
        ArrayList<String> list2=new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            int count= list.size();
            Random r=new Random();
            for (int j = 0; j < count; i++) {
                int index = r.nextInt(list.size());
       /* String name = list.get(index);
        list.remove(name);*/
                String name = list.remove(index);
                list2.add(name);
                System.out.println(name);
            }
            //此时表示一轮集合已经结束
            list.addAll(list2);
            list2.clear();
        }
    }
}

相关推荐

  1. 自动点名

    2024-03-13 11:04:04       42 阅读
  2. 【leetcode】点名

    2024-03-13 11:04:04       37 阅读
  3. 基于单片机雨天自动关窗的设计

    2024-03-13 11:04:04       35 阅读
  4. Python随机点名

    2024-03-13 11:04:04       58 阅读
  5. 大学课堂点名程序

    2024-03-13 11:04:04       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-13 11:04:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-13 11:04:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-13 11:04:04       87 阅读
  4. Python语言-面向对象

    2024-03-13 11:04:04       96 阅读

热门阅读

  1. CSS学习小结

    2024-03-13 11:04:04       37 阅读
  2. 中间件MQ面试题之Rabbitmq

    2024-03-13 11:04:04       32 阅读
  3. wsl-oracle 安装 omlutils

    2024-03-13 11:04:04       35 阅读
  4. C# List使用详解

    2024-03-13 11:04:04       44 阅读
  5. 面试题http和https的区别

    2024-03-13 11:04:04       44 阅读
  6. 向ChatGPT高效提问模板

    2024-03-13 11:04:04       29 阅读
  7. 爬取12306全国各车站信息以及输入信息查询车次

    2024-03-13 11:04:04       42 阅读
  8. 学习笔记——计算机网络(Internet、网络边缘)

    2024-03-13 11:04:04       45 阅读