Java 布尔表达式,doPost servlet返回的游戏太多

Java 布尔表达式,doPost servlet返回的游戏太多,java,html,json,servlets,boolean,Java,Html,Json,Servlets,Boolean,doPost正在返回游戏时间超过5分钟的游戏,即使我在HTML表单中输入了最大5分钟的参数。为什么?我不知道。我已经打印出了布尔表达式中使用的所有参数,以查看它们是否包含正确的值,并且它们似乎是这样做的。以下是该打印的示例: 信息:拥有:虚假minPlayers:3 chosenPlayers:1 maxPlayers:6 chosenPlaytime:5游戏时间:90信息:拥有:真实玩家:2 chosenPlayers:1名maxPlayers:-1名chosenPlaytime:5名游戏时间

doPost
正在返回游戏时间超过5分钟的游戏,即使我在HTML表单中输入了最大5分钟的参数。为什么?我不知道。我已经打印出了
布尔表达式中使用的所有参数,以查看它们是否包含正确的值,并且它们似乎是这样做的。以下是该打印的示例:

信息:拥有:虚假minPlayers:3 chosenPlayers:1 maxPlayers:6 chosenPlaytime:5游戏时间:90信息:拥有:真实玩家:2 chosenPlayers:1名maxPlayers:-1名chosenPlaytime:5名游戏时间:-1名信息:
拥有:假minPlayers:2 chosenPlayers:1 maxPlayers:6 chosenPlaytime:5游戏时间:90信息:拥有:虚假玩家:1 chosenPlayers:1个maxPlayers:1个chosenPlaytime:5个游戏时间:50个信息:
拥有:假minPlayers:-1名chosenPlayers:1名maxPlayers:-1名 chosenPlaytime:5游戏时间:-1信息:拥有:真实玩家:2 游戏时间:5游戏时间:30

这是我的代码:

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    //processRequest(request, response);

    String players = request.getParameter("players");
    String playtime = request.getParameter("playtime");

    int chosenPlayers = Integer.parseInt(players);
    int chosenPlaytime = Integer.parseInt(playtime);



    URL url = new URL("http://bgg-json.azurewebsites.net/collection/Dan%20Xxxxxxx"); //hidden by me now
    URLConnection yc = url.openConnection();
    try (BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()))) {
        String inputLine = null;
        String result = "{\"boardgames\":";
        while ((inputLine = in.readLine()) != null) {
            result = result + inputLine;
        }
        result = result + ", \"responseStatus\": 200}";

        JSONTokener tokener = new JSONTokener(result);

        JSONObject joRoot = (JSONObject) tokener.nextValue();

        JSONArray jarr = joRoot.getJSONArray("boardgames");

        int numberOfBoardgames = jarr.length();

        response.setContentType("text/html;charset=UTF-8");

        try (PrintWriter out = response.getWriter()) {
            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet BGGCollectionServlet</title>");
            out.println("<link rel=\"stylesheet\" type=\"text/css\" href=\"BGGCollection.css\" />");
            out.println("</head>");
            out.println("<body>");

            for (int i = 0; i < numberOfBoardgames; i++) {
                JSONObject jObject = jarr.getJSONObject(i);

                Boolean owned = jObject.getBoolean("owned");
                int minPlayers = jObject.getInt("minPlayers");
                int maxPlayers = jObject.getInt("maxPlayers");
                int gameTime = jObject.getInt("playingTime");
                int rating = jObject.getInt("rating");

                System.out.println("owned: " + owned + " minPlayers :" + minPlayers + " chosenPlayers :" + chosenPlayers + " maxPlayers :" + maxPlayers + " chosenPlaytime :" + chosenPlaytime + " gameTime :" + gameTime);

                if (owned && (minPlayers <= chosenPlayers && maxPlayers >= chosenPlayers) && chosenPlaytime <= gameTime) {
                    String thumbNail = jObject.getString("thumbnail");
                    String image = jObject.getString("image");
                    String gameName = jObject.getString("name");

                    if (rating >= 9.0) {                            
                        out.println("<div class=\"boardgame good\">");
                    } 
                    else {                            
                        out.println("<div class=\"boardgame\">");
                    }

                    out.println("<h1 class=\"gameName\">" + gameName + "</h1>");
                    out.println("<p><a href=\" " + image +  "  \"   target=\"_blank\"><img class=thumbnail src=" + thumbNail + "></a></p>");
                    out.println("<p class=\"gameDetails\">Speltid: " + gameTime + "</p>");
                    out.println("<br>");

                    if (minPlayers == maxPlayers) {
                        out.println("<p class=\"gameDetails\">" + minPlayers + " Spelare" + "</p>");
                    } 
                    else {                            
                        out.println("<p class=\"gameDetails\">" + minPlayers + " - " + maxPlayers + " Spelare" + "</p>");
                    }

                    if (gameTime == -1) {
                        out.println("<p class=\"gameDetails\">Speltid: " + "?" + "</p>");
                    }

                    out.println("</div>");
                }
            }


        out.println(" <div class=\"sokruta\"><h1>Sök Spel</h1><br><form method=\"post\">"
                + "<p>Antal spelare: <input type=\"number\" name=\"players\" min=\"1\" max=\"12\" \n"
                + "value=\"" + players + "\"></p>"
                + "<p>Maximal speltid: <input type=\"number\" name=\"playtime\" min=\"5\" \n"
                + "max=\"240\" value=\"" + playtime + "\"></p>"
                + "<p><input type=\"submit\" value=\"Sök spel\" name=\"button\"></p>\n"
                + "</form></div>");
        out.println("</body>");
        out.println("</html>");

        }

    } catch (Exception e) {
        System.out.println("Exception");

    }

}
protectedvoiddopost(HttpServletRequest请求,HttpServletResponse响应)
抛出ServletException、IOException{
//processRequest(请求、响应);
stringplayers=request.getParameter(“players”);
字符串playtime=request.getParameter(“playtime”);
int chosenPlayers=Integer.parseInt(玩家);
int chosenPlaytime=Integer.parseInt(播放时间);
URL=新URL(“http://bgg-json.azurewebsites.net/collection/Dan%20Xxxxxxx”;//现在被我藏起来了
URLConnection yc=url.openConnection();
try(BufferedReader in=new BufferedReader(new InputStreamReader(yc.getInputStream())){
字符串inputLine=null;
字符串结果=“{\”boardgames\:”;
而((inputLine=in.readLine())!=null){
结果=结果+输入行;
}
结果=结果+”,\“responseStatus\”:200}”;
JSONTokener令牌=新的JSONTokener(结果);
JSONObject joRoot=(JSONObject)tokener.nextValue();
JSONArray jarr=joRoot.getJSONArray(“boardgames”);
int numberOfBoardgames=jarr.length();
setContentType(“text/html;charset=UTF-8”);
尝试(PrintWriter out=response.getWriter()){
out.println(“”);
out.println(“”);
out.println(“”);
out.println(“Servlet BGGCollectionServlet”);
out.println(“”);
out.println(“”);
out.println(“”);
对于(int i=0;i”);
out.println(“

”; out.println(“
”); if(minPlayers==maxPlayers){ out.println(“

“+minPlayers+”Spelare“+”

”); } 否则{ out.println(“

“+minPlayers+”-“+maxPlayers+”Spelare“+”

”); } 如果(游戏时间==-1){ out.println(“

”; } out.println(“”); } } out.println(“Sök Spel
” +“Antal spelare:

” +“最大speltid:

” +“

\n” + ""); out.println(“”); out.println(“”); } }捕获(例外e){ System.out.println(“例外”); } }
chosenPlaytime感谢您的帮助!它现在可以工作了:)
chosenPlaytime谢谢你的帮助!它现在起作用了:)