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

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

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

img


img


以下为有问题的代码


<%@page contentType="text/html" pageEncoding="UTF-8"%>
html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Pagetitle>
    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>


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

第一个问题,如果你不想让它刷新,<input type="submit" name="submit" value="提交">,这里不要用submit,用了的话一点页面就会刷新。印象中type改成button就行。