java - 我如何在 JSP 中创建一个程序来生成您可以回答的随机加法方程,然后检查您是否正确?

标签 java jsp netbeans glassfish

让我先这样说:我是 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/

相关文章:

Java REST 服务在 POST 上生成 405

java - 在使用 struts html 标签时,如何使用其 property 属性获取文本框的值?还有其他方法可以获取值吗?

java - 是否可以返回 ResultSet 以在 JSTL 中使用?

javascript - 如何在jsp中显示下拉框的值

php - NetBeans + FTP + BitBucket

java - 无法使用 GridBagLayout 布局管理器获得等宽列

java - 通过 JDBC 调用 Sybase 存储过程时出现空结果集

java - 为什么我在这段代码中收到无限递归警告,尽管它不是无限的?

java - 开发java应用程序的标准工具有哪些

java - 我怎样才能阻止我的纹理在 libGDX 中变得低分辨率