JSP

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • na ja es handel sich um JSP also der fehler liegt bei Java mhh will ein Ratespiel machen bei der eine zufallszahl generiert wird und der user so lange was eintippen kann bis das ergebnis stimmt dann so es von neu starten saß jetztschon ne geraume zeit daran kann mir plz einer helfen...


    der Code:

    Quellcode

    1. <%@page contentType="text/html"%>
    2. <%@page pageEncoding="UTF-8"%>
    3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    4. "http://www.w3.org/TR/html4/loose.dtd">
    5. <html>
    6. <head>
    7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    8. <title>Ratespiel</title>
    9. <%
    10. String foo =request.getParameter("rnum");
    11. if (foo == null)
    12. {
    13. int zahl = Integer.valueOf(foo);
    14. }
    15. else{
    16. int zahl = (int) (Math.random()*100);
    17. }
    18. %>
    19. </head>
    20. <body>
    21. <div align="center">
    22. <h1>Ratespiel</h1>
    23. <form action="index.jsp" method="get">
    24. <input type="hidden" name="rnum" value="<%=foo%>">
    25. <input type="textfield" name="Text"><br>
    26. <input type="submit" name="Absenden">
    27. </form>
    28. </div>
    29. </body>
    30. </html>
    Alles anzeigen



    Der Fehler liegt irgendwo oben bei der if Bedingung...


    thx euer ltheonel
  • Wie wäre es mit der Fehlermeldung?

    <=zahl> kann garnicht gehen. Wenn dann schon <%= zahl%>
    Wenn du den Teil mit der Ausgabe von zahl auch posten würdest, wäre das sehr hilfreich.

    Aber ich sehe schon den Fehler:

    Quellcode

    1. String foo =request.getParameter("rnum");
    2. if (foo == null)
    3. {
    4. int zahl = Integer.valueOf(foo);
    5. }
    6. else{
    7. int zahl = (int) (Math.random()*100);
    8. }


    Du hast zahl nur innerhalb des if deklariert!!!

    Mach mal lieber:

    Quellcode

    1. String foo =request.getParameter("rnum");
    2. int zahl;
    3. if (foo == null)
    4. {
    5. zahl = Integer.valueOf(foo);
    6. }
    7. else{
    8. zahl = (int) (Math.random()*100);
    9. }
  • Das du das kannst bezweifel ich nicht :P


    type Exception report

    message

    descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

    exception

    org.apache.jasper.JasperException: java.lang.NumberFormatException: null
    root cause

    java.lang.NumberFormatException: null
    note The full stack traces of the exception and its root causes are available in the Sun Java System Application Server 9.1 logs.
  • na ja es lässt sich nicht ausführen =) (soll jetzt nicht böse rüberkommen, aber habt ihr keinen compiler?)
    Dafür, dass dir DEIN Compiler genau sagt, was das Problem ist, ist das ziemlich frech.
    Mein Hinweis mit der Zahl war auch absolut richtig. Der jetzige Fehler ist ein Anderer.

    Quellcode

    1. String foo =request.getParameter("rnum");

    Du machst keinen null-Check!
    Am request gibt es keinen Parameter namens "rnum". Deswegen ist foo == null.
    Beim Versuch daraus eine Zahl zu machen gibt es eine Exception.
    Die Lösung hängt davon ab was du tun möchtest.
    Du kannst den ganzen Abschnitt ignorieren oder du setzt foo auf "0" oder du sorgst dafür dass "rnum" niemals null ist oder etwas ganz anderes....
  • Ich habs mal so gemacht:
    (Das Script hat aber noch nie einen Compiler gesehen, also erwarte nicht, dass es von Anfang an funktioniert!)

    Quellcode

    1. <html>
    2. <head>
    3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    4. <title>Ratespiel</title>
    5. </head>
    6. <body>
    7. <div align="center">
    8. <h1>Ratespiel</h1>
    9. <form action="index.jsp" method="get">
    10. <%
    11. String rnum = request.getParameter("rnum");
    12. String text = request.getParameter("text");
    13. if (rnum == null)
    14. {
    15. rnum = new Integer((int) (Math.random()*100)).toString();
    16. }
    17. if (rnum.equals(text))
    18. {
    19. %>
    20. Du hast richtig geraten!!!<br>
    21. <%
    22. }
    23. else
    24. {
    25. if (text != null)
    26. {
    27. %>
    28. Du hast falsch geraten!!!<br>
    29. <%
    30. }
    31. %>
    32. <input type="hidden" name="rnum" value="<%=rnum %>">
    33. <input type="textfield" name="text">
    34. <%
    35. }
    36. %>
    37. <br>
    38. <input type="submit" name="Absenden">
    39. </form>
    40. </div>
    41. </body>
    42. </html>
    Alles anzeigen