随机点名器和抽奖的代码运转逻辑是相同的,只是使用有点娱乐,拿出来分享一下
废话不说直接上代码
随机点名器
import java.util.Scanner;
import java.util.Random;
public class Test8 {
//练习随机点名器
//键盘录入班级人数, 根据班级人数录入班级学员姓名
//从录入的学员姓名中, 随机取出一个, 并打印在控制台
public static void students() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入为爱冲锋的人数:");
int number = scanner.nextInt();
String[] arr = new String[number];
System.out.println("请输入舔狗的昵称");
for (int i = 0; i < arr.length; i++) {
String name = scanner.next();
arr[i] = name;
}
Random random = new Random();
int figure = random.nextInt(arr.length);
String name = arr[figure];
System.out.println("本次悲惨被绿的人是:" + name);
}
public static void main(String[] args) {
students();
}
}
请输入为爱冲锋的人数:
5
请输入舔狗的昵称
张三 李四 王五 马六 田七
本次悲惨被绿的人是:张三
它的逻辑是通过键盘命令知道人数的多少,然后将对应人数的人名存入到一个数组中,我们把它想象成一个不透明的盒子中有若干个球,然后通过random来随机抽取一个,即将手伸入盒子里拿出来一个球
抽奖
import java.util.Random;
public class Test9 {
//抽奖
public static void main(String[] args) {
int[] arr = new int[]{520, 1314, 6666, 999, 888, 10000};
Random random = new Random();
for (int i = 0; i <arr.length ; i++) {
int prize=random.nextInt(arr.length);
int temp=arr[i];
arr[i]=arr[prize];
arr[prize]=temp;
}
for (int i = 0; i <arr.length ; i++) {
System.out.println(arr[i]+"的奖金被抽出");
}
}
这个逻辑跟上面一样,日常生活中都存在这种情况,将明确物品名称的单子放在一个纸箱里或者电脑程序中,要么人工抽取或者通过键盘命令出去,每个人只有一次机会,要么得到不同层次的奖励,要么只有谢谢惠顾,这种抽奖逻辑普遍存在!