Javaweb四则运算出题器

题目要求:

1、用户可以自己输入题目数量和每行题目个数

2、可实现在线答题和判题功能。

3、生成的题目中,减法的结果不能为负数,乘法不允许结果大于100,除法必须能够整除。

程序代码:

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
    <script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
    <script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<style>
    .btnbag{
        width:100%;
        text-align:center;
    }
    .btn{
        width:150px;
        height:40px;
        border:0px;
        border-radius:5px;
        background-color:orange;
        color:black;
        margin-left:auto;
        margin-top:10px
    }
</style>
<body>
    <h4>题目总数量</h4>
    <div><input type="text" class="form-control" id="num"></div>
    <h4>每行题目个数</h4>
    <div><input type="text" class="form-control" id="hnum"></div>
    <div class="btnbag">
        <input type="button" class="btn" value="开始答题" onclick="submit()">
    </div>
</body>
<script>
    function submit() {
        var num=$("#num").val();
        var hnum=$("#hnum").val();
        if(num!=""&&hnum!=""){
            localStorage.setItem("num",num);
            localStorage.setItem("hnum",hnum);
            location.href="show.html";
        }else{
            alert("错误");
        }
    }
</script>
</html>

show.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
    <script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
    <script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<style>
    .btnbag{
        width:100%;
        text-align:center;
    }
    .btn{
        width:150px;
        height:40px;
        border:0px;
        border-radius:5px;
        background-color:orange;
        color:black;
        margin-left:auto;
        margin-top:10px
    }
</style>
<script>
    $(function () {
        var x=localStorage.getItem("num");
        var h=localStorage.getItem("hnum");
        //alert(num+hnum);
        var timu =new Array(x);
        var daan=new Array(x);
        for(var i=0;i<x;){
            var num1=Math.round(Math.random()*99 + 1)
            var num2=Math.round(Math.random()*99 + 1)
            var k=Math.round(Math.random()*3 + 1);
            if(k==1)
            {
                timu[i]=num1+"+"+num2+"=";
                daan[i]=num1+num2+"";
                i++;
            }
            else if(k==2&&num1>=num2)
            {
                timu[i]=num1+"-"+num2+"=";
                daan[i]=num1-num2+"";
                i++;
            }
            else if(k==3&&num1*num2<100)
            {
                timu[i]=num1+"*"+num2+"=";
                daan[i]=num1*num2+"";
                i++;
            }
            else if(k==4&&num2!=0&&num1%num2==0)
            {
                timu[i]=num1+"/"+num2+"=";
                daan[i]=num1/num2+"";
                i++;
            }
            else
                continue;
        }
            //alert(timu[1]+daan[1]);
        localStorage.setItem('timu',JSON.stringify(timu));
        localStorage.setItem('daan',JSON.stringify(daan));
        var text="<table align='center'>"
        var k;
        for(var j=0;j<x;) {
            k = 0;
            text += "<tr>";
            while (k < h) {
                text += "<td>"+timu[j]+"</td>" +
                    "  <td><input type='hidden' name='timu' value='"+timu[j]+"'></td>" +
                    "  <td><input type='text' name='jieguo' id='jieguo"+j+"'/></td>" +
                    "  <td><input type='hidden' name='daan' value='"+daan[j]+"'></td>";

                j++;
                k++;
                if(j>=x)
                    break;

            }
            text+="</tr>";
        }
        text+="</table>";
        $(".timus").html(text);
    });

    function submit() {
        var x=localStorage.getItem("num");
        var jieguo=new Array(x);
        for (var i=0;i<x;i++){
            jieguo[i]=$("#jieguo"+i).val();
        }
        //alert(jieguo[0]+jieguo[1]+jieguo[2]+jieguo[3]);
        localStorage.setItem('jieguo',JSON.stringify(jieguo));
        location.href="result.html";

    }
</script>
<body>
<h2 align="center" >题目如下</h2>
<div class="timus"></div>
<div class="btnbag">
    <input type="button" class="btn" value="提交結果" onclick="submit()">
</div>
</body>
</html>

result.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
    <script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js"></script>
    <script src="https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js"></script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<script>
    $(function () {
        jieguo = JSON.parse(localStorage.getItem('jieguo'));
        timu = JSON.parse(localStorage.getItem('timu'));
        daan = JSON.parse(localStorage.getItem('daan'));
        var a=0;
        var b=0;
        //alert(jieguo);
        for (var i=0;i<timu.length;i++){
            if(jieguo[i]==daan[i]){
                var text="<p align='center' style='color: green;'>'"+timu[i]+"' 回答正确</p>";
                $("#result").append(text);
                a++;
            }
            else {
                var text="<p align='center' style='color: red;'>'"+timu[i]+jieguo[i]+"' 回答错误</p>";
                $("#result").append(text);
                b++;
            }
        }
        var con="<h2 align='center'>总共"+timu.length+"道题,回答正确"+a+"道,回答有误"+b+"道</h2>"
        $("#con").html(con);
    })
    function submit() {
        location.href="index.html";

    }
</script>
<style>
    .btnbag{
        width:100%;
        text-align:center;
    }
    .btn{
        width:150px;
        height:40px;
        border:0px;
        border-radius:5px;
        background-color:orange;
        color:black;
        margin-left:auto;
        margin-top:10px
    }
</style>
<body>
<div id="result"></div>
<div id="con"></div>
<div class="btnbag">
    <input type="button" class="btn" value="继续答题" onclick="submit()">
</div>
</body>
</html>

运行截图

 

在Java Web中实现四则运算计算,通常会涉及前端页面展示用户输入,服务端处理计算请求。以下是一个简单的步骤: 1. **前端设计**: - 使用HTML、CSS和JavaScript创建一个用户界面,包括两个文本框用于输入数字,四个下拉菜单选择加减乘除操作,以及一个提交按钮。 2. **AJAX或表单提交**: - 当用户点击提交按钮,前端可以通过AJAX发送POST请求到服务,传递用户的输入数据。 3. **服务端接收并处理**: - 使用Java Servlet或Spring MVC框架,接收到请求后解析数据,比如使用`HttpServletRequest.getParameterValues()`获取数值和操作符。 4. **计算逻辑**: - 创建一个方法来执行计算,根据四则运算规则(如加法+,减法-,乘法*,除法/),对输入的数值进行相应的运算。 5. **返回结果**: - 计算完成后,服务将结果显示给前端,可以是直接响应JSON数据,也可以通过重定向跳转回前端页面显示计算结果。 6. **错误处理**: - 要考虑边界条件和异常处理,例如除数为零的情况。 示例代码片段(简化版): ```java // 服务端Java代码 @GET @Path("/calculate") public String calculate(@QueryParam("num1") double num1, @QueryParam("num2") double num2, @QueryParam("operator") String operator) { double result; switch (operator) { case "+": result = num1 + num2; break; // 添加其他运算... } return "Result: " + result; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值