将姓名存入数组中进行抽奖,在开始抽奖时姓名会滚动,用Java实现
时间: 2024-04-13 11:31:17 浏览: 119
以下是使用Java实现将姓名存入数组并进行抽奖,在开始抽奖时姓名滚动的示例代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class NameLottery {
public static void main(String[] args) throws InterruptedException {
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
names.add("David");
names.add("Eve");
names.add("Frank");
rollNames(names);
drawWinner(names);
}
public static void rollNames(List<String> names) throws InterruptedException {
Collections.shuffle(names);
for (int i = 0; i < 10; i++) {
for (String name : names) {
System.out.println(name);
Thread.sleep(100);
clearConsole();
}
}
}
public static void drawWinner(List<String> names) {
Collections.shuffle(names);
String winner = names.get(0);
System.out.println("抽奖结果:恭喜 " + winner + " 获奖!");
}
public static void clearConsole() {
try {
final String os = System.getProperty("os.name");
if (os.contains("Windows")) {
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
} else {
System.out.print("\033[H\033[2J");
System.out.flush();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这段代码使用了`List`集合来存储姓名,并通过`Collections.shuffle`方法进行随机打乱。然后,`rollNames`方法模拟了姓名滚动的效果,使用嵌套循环遍历每个姓名,并通过`Thread.sleep`方法暂停一段时间来实现滚动效果。`drawWinner`方法随机选择一个获奖者,并打印抽奖结果。`clearConsole`方法用于清除控制台输出,以便在滚动姓名时实现清屏效果。
你可以根据需要修改姓名列表和滚动效果的时间间隔。请确保你的Java环境已正确配置,并且可以运行Java程序。
阅读全文