需求背景:"抓阄"是指每人从预先做好记号的纸卷或纸团中摸取一个,以决定做什么。比如:学羊叫5声、蛙跳10个、吃芥末、喝一杯啤酒、做10个俯卧撑等。
需求描述:请设计一个抓阄游戏程序,实现5个人的抓阄,程序的运行效果如下所示:
实现提示:
1、创建一个集合存储5个人的名称
2、创建一个集合存储5个阄的内容
3、遍历名称的集合,获取每一个参与人员的名称
4、生成一个随机数作为存储5个阄的集合的索引,从该集合中随机获取一个元素,并且删除获取到的元素
5、在控制台输出结果
package com.itheima.pratice2;
import com.itheima.pratice.lots;
import com.itheima.pratice.name;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
public class Demo1 {
public static void main(String[] args) {
ArrayList<String> names = new ArrayList<>();
names.add("郭靖");
names.add("黄蓉");
names.add("黄药师");
names.add("老顽童");
names.add("瑛姑");
ArrayList<String> lots = new ArrayList<>();
lots.add("吃芥末");
lots.add("学羊叫");
lots.add("做十个俯卧撑");
lots.add("喝一瓶啤酒");
lots.add("蛙跳十下");
//for循环
for (int i = 0; i < names.size(); i++) {
Random r=new Random();
while (true) {
int j=r.nextInt(lots.size());
if(!lots.equals(lots.get(j))){
System.out.println(names.get(i)+"抓到的是"+lots.get(j));
lots.remove(j);
}
break;
}
}
System.out.println("---------------------");
//迭代器
Iterator<String> it = names.iterator();
while (it.hasNext()) {
Random r = new Random();
while (true) {
int j = r.nextInt(lots.size());
if (!lots.equals(lots.get(j))) {
System.out.println(it.next() + "抓到的是" + lots.get(j));
lots.remove(j);
}
break;
}
}
}
}