1

ユーザーが 1 から 1000 までの数字を選択できる Java Server Page があります。次に、ページは入力された番号を使用し、その番号が生成された番号と一致するかどうかを調べます。-- ^ が不明な場合は下の写真。現在、プログラムは、ユーザーが数字を推測するたびに、それが正しいかどうかにかかわらず、異なる数字を生成します。ユーザーがページを更新するか、正しく推測したときにのみプログラムが数値を生成するようにするにはどうすればよいですか?

JSP コード:

<%@ 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">
<%@ page import = "Chapter12.RandomGuess" %>
<jsp:useBean id = "randomGuessId" class = "Chapter12.RandomGuess" scope = "page" >
</jsp:useBean>
<jsp:setProperty name = "randomGuessId" property = "*" />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guess Random Number</title>
</head>
<body>
<h3>Guess a number from 1 to 1000</h3>
<form method = "post">
    Enter guess: <input name = "guess" /><br /><br />
    <input type = "submit" name = "Submit" value = "Take Guess" />
    <input type = "reset" value = "Reset" /><br /><br />
    Your guess of <jsp:getProperty name = "randomGuessId" property="guess" />
    is <%= RandomGuess.guess(randomGuessId.getAnswer()) %>
    </form>
</body>
</html>

Java コード:

import java.util.Random;

public class RandomGuess {
private int guess;
Random r = new Random();
private int low = 1;
private int high = 1000;
int R = r.nextInt(high-low) + low;

public int getGuess() {
    return guess;
}

public void setGuess(int newValue) {
    guess = newValue;
}

public String getAnswer() {
    String tooLow = "too low.";
    String tooHigh = "too high.";
    String correct = "correct!";
    if(guess == R) 
        return correct;
    else if(guess < R) 
        return tooLow;
    else
        return tooHigh;
}   
public static String guess(String s) {
    return s;
}
}

写真: http://i.imgur.com/dMSZ7SD.png

4

3 に答える 3

1

ここで完全なプログラムを見つけてください: http://sickprogrammersarea.blogspot.in/2014/01/creating-number-guesser-in-jsp_8296.html

こんにちは、これは JSP で数値ゲッサーを作成する簡単なプログラムです....見てみましょう...

Number.jsp:

<html>
<head><title>Number Guesser</title></head>
<body>
<%              int num=(int)(Math.random()*100);        %>
<h2>Welcome To Number Guesser</h2>
<br><h3>Want To Check Your Guessing Power.....GIVE IT A TRY?????</h3>
<form name="guess" action="try.jsp?c=0" method="post">
<input type="text" name="val" value="<%=num %>" hidden>
<input type="submit" value="GO">
</form>
</body>
</html>

try.jsp :

<html>
<head><title>Number Guesser</title></head>
<body>
<%    String str=request.getParameter("val");
      boolean flag=true;      
      int num=Integer.parseInt(str);
      int c=Integer.parseInt(request.getParameter("c"));
      if(c!=0)
      {
                  int guess=Integer.parseInt(request.getParameter("guess"));
                  if(num==guess){
                              flag=false;
      %>
                  <h3>Congratulation...You Successes After <%=c%> attempts</h3>
                  <b>Want to Improve...<a href="Number.jsp">try again</a></b>
      <%       }else if(num>guess) { %>
                  <h3>You Guessed Lower...Try Bigger Number</h3>
      <%       }else{ %>       
                  <h3>You Guessed Higher...Try Smaller Number</h3>
      <%       }
      }
      if (flag) { c++; %>     
      <h3>I Guessed a Number between 1 to 100. Try To Guess..</h3>
      <form name="guess" action="try.jsp?c=<%= c%>" method="post">
      <input type="text" value="<%=num %>" name="val" hidden>
      Make Your Guess : <input type="text" name="guess" size=10 maxlength=3>
      <input type="submit" value="GO">
      </form>
      <% } %>

</body> 
</html>
于 2014-03-12T18:56:00.080 に答える