用Java写一个随机抽人的代码
时间: 2023-04-03 11:03:33 浏览: 73
可以的,以下是一个简单的 Java 代码示例:
import java.util.ArrayList;
import java.util.Random;
public class RandomPicker {
public static void main(String[] args) {
ArrayList<String> names = new ArrayList<String>();
names.add("张三");
names.add("李四");
names.add("王五");
names.add("赵六");
names.add("钱七");
Random rand = new Random();
int index = rand.nextInt(names.size());
String pickedName = names.get(index);
System.out.println("被抽中的人是:" + pickedName);
}
}
这个代码会从一个名字列表中随机抽取一个人的名字,并输出结果。你可以根据需要修改名字列表和输出格式。
相关问题
用java写个抽奖,给出代码
### 回答1:
这里是一个简单的抽奖程序的Java代码,可以用来模拟抽奖:import java.util.Random;
public class Lottery {
public static void main(String[] args) {
Random random = new Random();
int number = random.nextInt(10) + 1;
System.out.println("抽奖结果:" + number);
}
}
### 回答2:
以下是一个用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 numParticipants = scanner.nextInt();
// 输入中奖人数
System.out.print("请输入要抽出的中奖人数:");
int numWinners = scanner.nextInt();
// 输入每个人的姓名并存储到List中
List<String> participants = new ArrayList<>();
for (int i = 0; i < numParticipants; i++) {
System.out.print("请输入第" + (i + 1) + "个人的姓名:");
participants.add(scanner.next());
}
// 执行抽奖
List<String> winners = drawWinners(participants, numWinners);
// 输出中奖人名单
System.out.println("中奖人名单:");
for (String winner : winners) {
System.out.println(winner);
}
}
private static List<String> drawWinners(List<String> participants, int numWinners) {
List<String> winners = new ArrayList<>();
Random random = new Random();
// 执行抽奖,从参与者中随机选取中奖人
for (int i = 0; i < numWinners; i++) {
int randomIndex = random.nextInt(participants.size());
winners.add(participants.get(randomIndex));
participants.remove(randomIndex);
}
return winners;
}
}
```
以上代码实现了一个抽奖程序,首先用户需要输入参与抽奖的人数和中奖人数,然后按顺序输入每个人的姓名。程序会随机从参与者中选出中奖人名单,并输出中奖人名单。
注意:该示例代码仅为简单实现,没有考虑输入的合法性、错误处理等情况。在实际开发中,需要更加完善和健壮的代码来处理各种异常情况。
### 回答3:
下面是一个用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) {
List<String> participants = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入参与抽奖的人员(每个人名字之间用空格隔开):");
String input = scanner.nextLine();
String[] names = input.split(" ");
for (String name : names) {
participants.add(name);
}
System.out.println("请输入获奖人数:");
int winnersCount = scanner.nextInt();
if (winnersCount > participants.size()) {
System.out.println("获奖人数不能超过参与人数!");
return;
}
Random random = new Random();
System.out.println("抽奖开始:");
for (int i = 1; i <= winnersCount; i++) {
int randomIndex = random.nextInt(participants.size());
String winner = participants.get(randomIndex);
System.out.println("第" + i + "位获奖者是:" + winner);
participants.remove(randomIndex);
}
System.out.println("抽奖结束!");
}
}
```
该程序首先要求用户输入参与抽奖的人员名单,每个人名字之间用空格隔开。然后要求用户输入获奖人数。如果获奖人数超过参与人数,则程序会打印出错误信息并结束。
接下来,程序使用`Random`类生成随机数,从参与人员中随机选取获奖人数个人作为获奖者,并将获奖者从参与人员名单中移除。
最后,程序打印出获奖者的信息,抽奖过程结束。
用java写一个抽奖系统
好的,以下是一个简单的Java抽奖系统:
```java
import java.util.Random;
import java.util.Scanner;
public class LotterySystem {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("欢迎使用抽奖系统!");
System.out.print("请输入参与抽奖的人数:");
int numPeople = scanner.nextInt();
System.out.print("请输入中奖人数:");
int numWinners = scanner.nextInt();
String[] names = new String[numPeople];
for (int i = 0; i < numPeople; i++) {
System.out.printf("请输入第%d个人的姓名:", i + 1);
names[i] = scanner.next();
}
Random random = new Random();
int[] winners = new int[numWinners];
for (int i = 0; i < numWinners; i++) {
int winnerIndex = random.nextInt(numPeople);
while (contains(winners, winnerIndex)) {
winnerIndex = random.nextInt(numPeople);
}
winners[i] = winnerIndex;
}
System.out.println("中奖名单:");
for (int i = 0; i < numWinners; i++) {
System.out.printf("%d. %s\n", i + 1, names[winners[i]]);
}
}
private static boolean contains(int[] arr, int val) {
for (int i : arr) {
if (i == val) {
return true;
}
}
return false;
}
}
```
运行代码后,用户首先需要输入参与抽奖的人数和中奖人数。然后程序将依次要求输入每个参与者的姓名。最后,程序将随机选择中奖人,并输出中奖名单。