import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
public class RandomNamePicker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<String> names = new ArrayList<>();
// 添加名字
System.out.println("请输入参与抽奖的人员名单(输入end结束输入):");
String name = scanner.nextLine();
while (!name.equalsIgnoreCase("end")) {
names.add(name);
name = scanner.nextLine();
}
// 随机抽取一个名字
if (names.isEmpty()) {
System.out.println("名单为空,无法抽取!");
} else {
Random random = new Random();
int index = random.nextInt(names.size());
String winner = names.get(index);
System.out.println("抽奖结果:恭喜 " + winner + " 获奖!");
}
}
}
以上是一个控制台应用程序,接受用户输入名字列表并随机抽取一个名字。
接下来,我们编写一个HTML页面,使用JavaScript来调用Java程序并显示抽奖结果:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Random Name Picker</title>
</head>
<body>
<h1>Random Name Picker</h1>
<label for="nameInput">请输入参与抽奖的人员名单(以逗号分隔):</label><br>
<input type="text" id="nameInput"><br><br>
<button onclick="pickWinner()">开始抽奖</button><br><br>
<h2 id="winner"></h2>
<script>
function pickWinner() {
var names = document.getElementById("nameInput").value.split(",");
if (names.length === 0) {
alert("名单为空,无法抽取!");
return;
}
var request = new XMLHttpRequest();
request.open("POST", "http://localhost:8080/randomNamePicker", true);
request.setRequestHeader("Content-Type", "application/json");
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
var data = JSON.parse(request.responseText);
document.getElementById("winner").innerText = "抽奖结果:恭喜 " + data.winner + " 获奖!";
} else {
alert("抽奖失败,请重试!");
}
};
request.onerror = function() {
alert("请求失败,请检查服务器连接!");
};
request.send(JSON.stringify({ "names": names }));
}
</script>
</body>
</html>
在上述HTML页面中,我们创建了一个文本框用于输入参与抽奖的人员名单,然后通过JavaScript获取输入的名单,并发送POST请求到Java程序的端口(默认为8080)。Java程序接收到请求后,随机抽取一个名字并返回给HTML页面,页面将抽奖结果显示在页面上。
请注意,要使上述代码正常工作,您需要在本地搭建一个简单的Java Web服务器,以便接收来自HTML页面的请求,并将抽奖结果返回给页面。
标签:抽奖,Java,Random,request,HTML,names,页面 From: https://blog.csdn.net/love7489/article/details/137541562