首页 > 编程语言 >一个简单的Java程序,结合HTML页面,用于随机抽取人员

一个简单的Java程序,结合HTML页面,用于随机抽取人员

时间:2024-04-09 10:31:18浏览次数:15  
标签:抽奖 Java Random request HTML names 页面

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

相关文章

  • 使用Java编写的在线小说爬虫框架
    1.引言网络上有许多优秀的小说网站,提供了丰富的小说资源,但是想要将这些小说保存到本地阅读却不太容易。本文将介绍如何使用Java编写一个简单而强大的小说爬虫框架,帮助我们方便地从在线小说网站爬取小说内容。2.框架设计2.1主要功能支持多个小说网站的爬取,如起点、纵......
  • Java 流程控制语句
    在Java中,流程控制语句用于控制程序的执行顺序。这些语句允许程序根据不同的条件执行不同的代码块,或者重复执行某些操作。以下是Java中常见的流程控制语句:条件控制语句条件语句在编程中用于根据特定条件执行不同的代码分支。在Java中,主要的条件语句包括if、if...else、if........
  • Vscode设置自动生成vue页面代码块
    1.ctrl+shift+p 2. 输入snippet->首选项:配置用户代码片段 3. 输入vue,选择vue.json(vue) 4.输入下面代码:"Printtoconsole":{      "prefix":"vue",    "body":[      "<template>",      &qu......
  • 京东详情API接口请求代码源码(java)
    京东详情API接口是用于获取京东商品详细信息的接口,它允许开发者通过发送请求,获取商品的描述、价格、评价等信息。下面是一个关于京东详情API接口的示例文档,包括接口地址、请求参数、响应参数等内容。京东详情API接口文档接口地址:https://api-gw.onebound.cn/jd/item_get请求......
  • java知识点
    (1)springboot注解,当接收页面单个:参数字符串数组。必须加org.springframework.web.bind.annotation.RequestBody注解, 如果是整形数组,则换成Integer[]ids即可。@PostMapping("/demo")@ResponseBodypublicResulttest(@RequestBodyLong[]ids){}(2)获取最近12个月份publicLi......
  • [网络/HTTPS/Java] PKI公钥基础设施体系:基础概念篇
    0序看过上一篇文章、且有点懵的朋友,可以参看本篇————针对PKI体系的核心概念进行解释。1PKI体系(公开密钥基础设施体系)1.1PKI体系是什么?PKI是PublicKeyInfrastructure的缩写,中文叫做公开密钥基础设施,也就是利用公开密钥机制建立起来的基础设施。PKI的主要......
  • python计算机毕设【附源码】基于html的校园网设计与实现(django+mysql+论文)
    本系统(程序+源码)带文档lw万字以上  文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在信息技术快速发展的今天,互联网已经成为人们获取信息、交流沟通的重要平台。对于学校而言,拥有一个功能齐全、操作简便的校园网系统显得尤为重要。基于HTML......
  • JAVA------基础篇
    java基础1.JDKJDK:javadevelopmentkitJRE:javaruntimeenvironmentJDK包含JREjava跨平台:因为java程序运行依赖虚拟机,虚拟机需要有对应操作系统的版本,而jre中有虚拟机。当你想要在Linux系统下运行,则需要安装对应的虚拟机,及对应的jdk版本,而对应的jdk版本中的jre有对......
  • openGauss 支持PL-Java
    支持PL/Java可获得性本特性自openGauss1.0.0版本开始引入。特性简介支持javaUDF。客户价值提供多种函数的开发环境。特性描述使用openGauss数据库的PL/Java函数,用户可以使用自己喜欢的JavaIDE编写Java方法,并将包含这些方法的jar文件安装到openGauss数据库中,然后使用该......
  • 「Java开发指南」如何利用MyEclipse启用Spring DSL?(一)
    本教程将引导您通过启用SpringDSL和使用ServiceSpringDSL抽象来引导Spring和Spring代码生成项目,本教程中学习的技能也可以很容易地应用于其他抽象。在本教程中,您将学习如何:为SpringDSL初始化一个项目创建一个模型包创建一个服务和操作实现一个服务方法启用JAX-WS和DWR......