抽奖业务java代码
时间: 2023-07-03 07:21:21 浏览: 99
好的,以下是一个简单的抽奖业务的Java代码示例:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
public class Lottery {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入参与抽奖的人数:");
int num = scanner.nextInt();
scanner.nextLine(); // 读取换行符
List<String> names = new ArrayList<>();
for (int i = 0; i < num; i++) {
System.out.print("请输入第" + (i + 1) + "个人的姓名:");
names.add(scanner.nextLine());
}
System.out.print("请输入中奖人数:");
int count = scanner.nextInt();
List<String> winners = draw(names, count);
System.out.println("恭喜以下人员获得奖品:");
for (String winner : winners) {
System.out.println(winner);
}
}
/**
* 从名单中抽取指定数量的获奖者
*
* @param names 参与抽奖的人员名单
* @param count 获奖人数
* @return 获奖者名单
*/
public static List<String> draw(List<String> names, int count) {
if (count > names.size()) {
throw new IllegalArgumentException("中奖人数不能大于参与人数");
}
Random random = new Random();
List<String> winners = new ArrayList<>();
while (winners.size() < count) {
int index = random.nextInt(names.size());
if (!winners.contains(names.get(index))) {
winners.add(names.get(index));
}
}
return winners;
}
}
```
该示例程序通过Scanner类从控制台输入参与抽奖的人数和每次抽取的获奖人数,然后从控制台输入每个参与者的姓名,最后调用draw方法进行抽取获奖者并输出结果。
draw方法接收参与抽奖的人员名单和获奖人数,通过Random类生成随机数进行抽奖,并将抽中的获奖者存入winners列表中。最后将winners列表返回。
阅读全文