zxy0307's picture
Upload 2300 files
0284885 verified
Raw History Blame Contribute Delete
1.68 kB
package Case_demo3;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;
public class Test3 {
public static void main(String[] args) {
/*
班级里面有5个学生
要求:
被点到的学生不会再被点到。
但是如果班级中所有的学生都点到了,需要重新开启第二轮点名。
*/
//1、定义集合
ArrayList<String> list1 = new ArrayList<>();
//2、添加数据
Collections.addAll(list1, "范闲", "范建", "范统", "杜子腾", "朱合泛",
"侯笼藤", "朱益群", "朱穆朗玛峰", "杜琦燕", "袁明媛", "李猜", "田密密");
//创建一个临时的集合,用来存已经被点到学生的名字
ArrayList<String> list2 = new ArrayList<>();
//外循环:表示轮数
for (int i = 0; i < 10; i++) {
System.out.println("=============第" + i + "轮点名开始了============");
//3、获取集合的长度
int count = list1.size();
//4、随机点名
Random r = new Random();
//内循环:每一轮中随机循环抽取的过程
for (int j = 0; j < count; j++) {
int index = r.nextInt(list1.size());
String name = list1.remove(index);
list2.add(name);
System.out.print(name + " ");
}
System.out.println();
//此时表示一轮点名结束
//list1 空了 list2 10个学生的名字
list1.addAll(list2);
list2.clear();
}
}
}