练习一
班级里有N个学生,实现随机点名器
java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class 练习1 {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
// 方法一:
Collections.addAll(list,"张伟", "王芳", "李娜", "刘洋", "陈静",
"杨帆", "黄磊", "赵薇", "周杰", "吴刚",
"孙丽", "朱强", "徐敏", "马超", "胡军",
"林峰", "郭靖", "何洁", "高伟", "梁静",
"郑凯", "谢娜", "宋佳", "唐嫣", "董洁",
"袁泉", "邓超", "韩梅", "蔡徐", "彭于");
Random random = new Random();
int index = random.nextInt(list.size());
System.out.println(list.get(index));
// 方法二:
Collections.shuffle(list);
System.out.println(list.get(0));
}
}
练习二
班级里有N个学生,实现随机点名器
要求:
- 被点到的学生不会再被点到
- 如果所有学生都被点完了,需要重新开启第二轮点名
java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class 练习2 {
public static void main(String[] args) {
List<String> boyList = new ArrayList<>();
List<String> girlList = new ArrayList<>();
List<Integer> list = new ArrayList<>();
Collections.addAll(boyList, "张伟", "刘洋", "杨帆",
"黄磊", "周杰", "吴刚", "朱强",
"马超", "胡军", "林峰", "郭靖",
"高伟", "郑凯", "袁泉", "邓超",
"蔡徐", "彭于");
Collections.addAll(girlList, "王芳", "李娜", "陈静",
"赵薇", "孙丽", "徐敏", "何洁",
"梁静", "谢娜", "宋佳", "唐嫣",
"董洁", "韩梅");
Collections.addAll(list,1,1,1,1,1,1,1,0,0,0);
Random random = new Random();
int index = random.nextInt(list.size());
int number = list.get(index);
if(number ==1){
int boyIndex = random.nextInt(boyList.size());
System.out.println(boyList.get(boyIndex));
}else if (number ==0){
int girlIndex = random.nextInt(girlList.size());
System.out.println(girlList.get(girlIndex));
}
}
}
练习三:
班级里有N个学生,实现随机点名器
要求:
- 被点到的学生不会再被点到
- 如果所有学生都被点完了,需要重新开启第二轮点名
- 70%随机到男生,30%随机到女生
java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class 练习3 {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();
Collections.addAll(list1, "张伟", "王芳", "李娜", "刘洋", "陈静",
"杨帆", "黄磊", "赵薇", "周杰", "吴刚",
"孙丽", "朱强", "徐敏", "马超", "胡军",
"林峰", "郭靖", "何洁", "高伟", "梁静",
"郑凯", "谢娜", "宋佳", "唐嫣", "董洁",
"袁泉", "邓超", "韩梅", "蔡徐", "彭于");
int count = list1.size();
Random random = new Random();
for (int l = 0; l < count; l++) {
System.out.println("=========第"+l+"轮开始============");
for (int i = 0; i < count; i++) {
int index = random.nextInt(list1.size());
String name = list1.remove(index);
list2.add(name);
System.out.println(name);
}
list1.addAll(list2);
list2.clear();
}
}
}
练习四:
