import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class Two extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String message = request.getParameter("message"),
right = request.getParameter("right"),
total = request.getParameter("total"),
answerkey = request.getParameter("answerkey"), // retrieve state
answer = request.getParameter("answer"); // input from user
String anotherMessage = "";
if (message != null && ! message.equals("")) { // state is not empty
if (answerkey != null && !answerkey.equals("")) {
if (answerkey.equals(answer)) {
right = (Integer.parseInt(right) + 1) + "";
}
total = (Integer.parseInt(total) + 1) + "";
}
Vector a = this.explode("--", message);
answerkey = (String) a.elementAt(0); a.removeElementAt(0);
message = this.implode("--", a);
String url = "";
anotherMessage = "You are looking at: " + url +
"
"; } else { // state is empty if (answerkey != null && !answerkey.equals("")) { if (answerkey.equals(answer)) { right = (Integer.parseInt(right) + 1) + ""; } total = (Integer.parseInt(total) + 1) + ""; } Vector a = new Vector(); String[] names = { "China", "Russia", "Italy", "Spain", "South Africa", "Brazil", "United States", "Australia"}; for (int i = 0; i < names.length; i++) a.add(names[i]); Vector b = new Vector(); while (a.size() > 0) { int i = (int) (Math.random() * a.size()); b.insertElementAt(a.elementAt(i), 0); a.removeElementAt(i); } if (total != null && !total.equals("") && Integer.parseInt(total) > 0) { anotherMessage = "(" + right + " / " + total + ")"; } anotherMessage += " The game has just (re)started. The deck is shuffled."; message = this.implode("--", b); right = "0"; total = "0"; answerkey = ""; } out.println( "\n
" ); } public Vector explode(String delim, String data) { Vector v = new Vector(); StringTokenizer st = new StringTokenizer(data, delim); while (st.hasMoreTokens()) { v.add(st.nextToken()); } return v; } public String implode(String delim, Vector a) { String result = ""; for (int i = 0; i < a.size() - 1; i++) result += a.elementAt(i) + delim; if (a.size() > 0) result += a.elementAt(a.size() - 1); return result; } }