让我先这样说:我是 JSP 方面的绝对初学者。我仍然在努力理解基础知识,同时及时完成工作,而不向老师寻求帮助(感谢当我和其他一些同学就工作和缺少信息等问题进行联系时,他们从未回复电子邮件)或链接)。
我的任务是在 JSP 中编写一个生成随机加法问题的程序。用户可以输入他们认为已写好的答案,提交后,程序将告诉他们正确和错误的答案。到目前为止,我已经编写了一个程序,当它运行时,它实际上不会在浏览器中显示任何内容。它只是不断地说“等待本地主机”。这是我迄今为止所做的:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import = "java.util.*"%>
<>
<!DOCTYPE html>
<html>
<head>
<title>Addition Quiz</title>
</head>
<body>
<%
int a, b, answer;
Random rand = new Random();
a = rand.nextInt(1000);
b = rand.nextInt(1000);
%>
<form>
<%= a %> + <%= b %> =
<input type="number" value="answer" name="answer"><br><br>
<input type="submit" value="Submit">
</form>
<%
request.getParameter("answer");
answer = a + b;
if (answer==a+b) {
out.print("Correct");
} else if (answer!=(a+b)) {
out.print("Incorrect");
}
%>
</body>
</html>
我在这里做错了什么,在你看来,我应该怎么做?我正在使用 NetBeans 和 GlassFish。
编辑:根据 Swati 的建议添加到程序中。虽然它现在输出,但页面会自动显示正确,每当我提交一个数字来回答方程时,页面就会刷新到一个新方程。
最佳答案
当您提交时,它正在重新加载页面,因此正在生成新的随机数。请找到以下代码。 index.html
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ page import="java.util.*"%>
<>
<!DOCTYPE html>
<html>
<head>
<title>Addition Quiz</title>
</head>
<body>
<%
int a, b, answer;
Random rand = new Random();
a = rand.nextInt(1000);
b = rand.nextInt(1000);
%>
<form action="result.jsp">
<%= a %>
+
<%= b %>
<%
request.setAttribute("a", a);
request.setAttribute("b", b);
%>
= <input type="number" value="answer" name="answer"><br>
<input type="hidden" name="a" value="<%=a%>">
<input type="hidden" name="b" value="<%=b%>">
<br><input type="submit" value="Submit">
</form>
</body>
</html>
结果.html
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>answer is::<%=Integer.parseInt(request.getParameter("answer")) %></h1>
<h1>a+b is::<%=Integer.parseInt(request.getParameter("a"))+Integer.parseInt(request.getParameter("b")) %></h1>
<h1>RESULT IS <%= (Integer.parseInt(request.getParameter("answer")) == (Integer.parseInt(request.getParameter("a"))+Integer.parseInt(request.getParameter("b"))) )?"Correct":"InCorrect"%></h1>
</body>
</html>
关于java - 我如何在 JSP 中创建一个程序来生成您可以回答的随机加法方程,然后检查您是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60917746/