```java
import java.util.Random;
import java.util.Scanner;
public class DrawMain {
public static void main(String[] args) {
// 实例化随机数生成器
Random random = new Random();
// 实例化文本扫描器
Scanner input = new Scanner(System.in);
// 定义一个字符串数组用于存放需要抽签的名单
String[] name = new String;
System.out.println("请输入要抽签的名单:");
// 循环录入名字
for (int i = 0; i < name.length; i++) {
name[i] = input.next();
}
// 选出4个人
for (int i = 0; i < 4; i++) {
// 生成0 - 11内的整型随机数不包括12
int randomIndex = random.nextInt(name.length);
// 打印中签者的名字
System.out.println(name[randomIndex]);
}
}
}
```
代码说明:
导入必要的包
`import java.util.Random;`:用于生成随机数。
`import java.util.Scanner;`:用于从控制台读取用户输入。
实例化随机数生成器和文本扫描器
`Random random = new Random();`:创建一个随机数生成器对象。
`Scanner input = new Scanner(System.in);`:创建一个文本扫描器对象,用于读取用户输入。
定义字符串数组
`String[] name = new String;`:创建一个长度为12的字符串数组,用于存放需要抽签的名单。
读取用户输入
使用`for`循环读取用户输入的名字,并存储在数组中。
生成随机数并打印中签者名字
使用`for`循环生成4个随机数,范围是0到11(不包括12)。
打印对应随机数位置的名字,即为中签者的名字。
这个程序可以用于简单的抽签任务,如果需要更复杂的功能,如从文件中读取名单、处理重名情况等,可以进行相应的扩展。