pzhongli 2023-03-25 17:52 采纳率: 71.4%
浏览 106
已结题

生成随机数加法题并判断对错

麻烦帮我看一下代码的问题,我认为是以下两点错误,但是我不知道该怎么改进:
1.点击提交按钮后,页面刷新再次运行程序导致重新生成随机数,使得答案报错
2.文本框不输入数字时,点击提交或刷新会报错(因为空不能转换为整数),但是我明明限制了条件“if(A1!=null)”为什么还会运行条件里面的程序?

题目要求——点击提交可以判断对错/JAVAWEB

img


img


以下为有问题的代码


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
     <body bgcolor="#00FFFF">
            <%!  int random[]=new int [8];
                     int a[]=new int [4];
            %>
            <%
                for(int i=0;i<8;i++){
                        random[i]=(int)(Math.random()*10);
                                }
                %>
             <form action="" method="post">
            <%= random[0] %> + <%= random[1] %> =
            <input type="text" name="answer_1"><br>
            <%= random[2] %> + <%= random[3] %> =
            <input type="text" name="answer_2"><br>
            <%= random[4] %> + <%= random[5] %> =
            <input type="text" name="answer_3"><br>
            <%= random[6] %> + <%= random[7] %> =
            <input type="text" name="answer_4"><br>
            <input type="submit" name="submit" value="提交"><br><br>
            <button onclick="">刷新</button>
        </form>
        <% 
                   String A1=request.getParameter("answer_1");
                   String A2=request.getParameter("answer_2");
                   String A3=request.getParameter("answer_3");
                   String A4=request.getParameter("answer_4");
                   if(A1!=null){
                        a[0]=Integer.parseInt (A1);
                        a[1]=Integer.parseInt (A2);
                        a[2]=Integer.parseInt (A3);
                        a[3]=Integer.parseInt (A4);
                    for(int i=0;i<4;i++){    
                            if(a[i]==random[i*2]+random[i*2+1]){
                                out.print("对");
                            }
                            else{
                                out.print("错");
                            }  
                    }
                   }
        %>
    </body>
</html>


  • 写回答

2条回答 默认 最新

  • pzzhao 2023-03-25 18:17
    关注

    有可能获取到的值是空字符串,所以你还得判断下不为空字符串。!"".equal(A1)

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月1日
  • 创建了问题 3月25日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题