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


以下为有问题的代码
<%@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>