Hallo zusammen,
ich habe ein WebApp ,dass es ein Lotto Spiel ist. Ich habe Probleme mit mein Controller. Ich weiß nicht ganz genau , wie soll ich mein Controller umschreiben. ich lasse hier mein HTML Seite und auch Controller. zu erst Eingabe von Benutzer.
hier die zweite Seite für result.
und hier mein Controller
und hier ist meine Lotto Spiel Controller
Danke für Ihrem Hilfe
ich habe ein WebApp ,dass es ein Lotto Spiel ist. Ich habe Probleme mit mein Controller. Ich weiß nicht ganz genau , wie soll ich mein Controller umschreiben. ich lasse hier mein HTML Seite und auch Controller. zu erst Eingabe von Benutzer.
HTML:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Lotto Spiel</title>
</head>
<body>
<h2>Lotto Spiel!</h2>
<br>
<output name="monitor"></output>
<form method="GET" action="result" >
Erste Zahl : <input name="input" id="input" />
Zweite Zahl : <input name="input1" id="input1" />
Dritte Zahl : <input name="input2" id="input2" />
Vierte Zahl : <input name="input3" id="input3" />
Fünfte Zahl : <input name="input4" id="input4" />
Sechste Zahl : <input name="input5" id="input5" />
<br>
<br>
<input type="submit" name="submit" />
</form>
</body>
</html>
hier die zweite Seite für result.
HTML:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<title>Lotto</title>
</head>
<body>
<p>Lotto Zahlen :</p>
<br>
<output name="lottoMonitor" id="lottoMonitor"></output>
<br>
<p>Ihrem Zahlen :</p>
<br>
<output name="userzahlMonitor" id="userzahlMonitor"></output>
<br>
<p>Korrekte Zahlen :</p>
<br>
<output name="korrektMonitor" id="korrektMonitor"></output>
<br>
<a href="http://localhost:8080/test-webapp/index"> Möchten Sie noch einmal spielen ?</a>
<br>
</body>
</html>
und hier mein Controller
Java:
package test.webapp.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class IndexController {
@RequestMapping(value = "/index", method = RequestMethod.GET)
public String getIndex(Model model) {
// model.addAttribute(attributeName, attributeValue);
System.out.println("index");
model.addAttribute("input1");
return "index";
}
und hier ist meine Lotto Spiel Controller
Java:
package test.webapp.controller;
import java.util.Scanner;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
import java.util.Random;
@Controller
public class LottoController {
@RequestMapping(value = "/result", method = RequestMethod.GET)
public void handleRequest (@RequestParam("input") String userInput,
@RequestParam("input1") String userInput1,
@RequestParam("input2") String userInput2,
@RequestParam("input3") String userInput3,
@RequestParam("input4") String userInput4,
@RequestParam("input5") String userInput5,
Model model) {
System.out.println("Test-Methode");
boolean isRestart = false;
boolean isRepeat = false;
int counter = 0;
int userzahl;
Random random = new Random();
Scanner scannerVariable = new Scanner(System.in);
do {
int[] benutzer = new int[6];
userzahl = 0;
int token = 1;
List<Integer> candidates = new ArrayList<Integer>();
scannerVariable = new Scanner(System.in);
for (int i = 1; i < 50; i++) {
candidates.add(i);
}
int[] numbers = new int[6];
for (int i = 0; i < numbers.length; i++) {
int candidateIndex = random.nextInt(candidates.size());
numbers[i] = (int) candidates.get(candidateIndex);
candidates.remove(candidateIndex);
}
Arrays.sort(numbers);
while (userzahl < 6) {
boolean isFound = false;
boolean isDezimal = false;
boolean isBuchstabe = false;
boolean isZeichen = false;
boolean isIntegerzahl = false;
if (token == 1) {
System.out.println("Bitte geben Sie die erste Zahl ein:");
} else if (token == 2) {
System.out.println("Bitte geben Sie die zweite Zahl ein:");
} else if (token == 3) {
System.out.println("Bitte geben Sie die dritte Zahl ein:");
} else if (token == 4) {
System.out.println("Bitte geben Sie die vierte Zahl ein:");
} else if (token == 5) {
System.out.println("Bitte geben Sie die fünfte Zahl ein:");
} else if (token == 6) {
System.out.println("Bitte geben Sie die sechste Zahl ein:");
}
try {
String regex = "[-+]?\\d+\\.\\d+";
String regex1 = "[a-z_A-Z]+";
String regex2 = "[\\-?\\.,#\\_:;!§$%&/\\=\\€\\@\\<\\>\\~\\*]+";
String input = scannerVariable.next();
boolean isMatcher = input.matches(regex);
boolean isMatcher1 = input.matches(regex1);
boolean isMatcher2 = input.matches(regex2);
if (isMatcher) {
isDezimal = true;
} else if (isMatcher1) {
isBuchstabe = true;
} else if (isMatcher2) {
isZeichen = true;
}
benutzer[userzahl] = Integer.parseInt(input);
} catch (NumberFormatException e) {
isIntegerzahl = true;
}
for (int i = 0; i < userzahl; i++) {
if (benutzer[userzahl] == benutzer[i]) {
isFound = true;
break;
}
}
if (isBuchstabe) {
System.out.println("Die Eingabe passt nicht, weil sie eine Buchstabe ist.");
} else if (isDezimal) {
System.out.println("Die Eingabe passt nicht, weil sie eine dezimalzahl ist.");
} else if (isFound) {
System.out.println("Sie haben diese Zahl schon gewählt.");
} else if (isZeichen) {
System.out.println("Die Eingabe passt nicht, weil sie falsche menge ist.");
} else if (isIntegerzahl) {
System.out.println("Die Eingabe passt nicht, weil sie keine gültige Zahl ist.");
} else if (benutzer[userzahl] > 49) {
System.out.println("Die Zahl passt nicht,weil sie größer als 49 ist.");
} else if (benutzer[userzahl] <= 0) {
System.out.println("Die Zahl passt nicht, weil sie kleiner als 1 ist.");
} else {
userzahl++;
token++;
}
}
Arrays.sort(benutzer);
ArrayList<Integer> korektezahl = new ArrayList<Integer>();
for (int i = 0; i < benutzer.length; i++) {
for (int j = 0; j < numbers.length; j++) {
if (benutzer[i] == numbers[j]) {
korektezahl.add(benutzer[i]);
counter++;
}
}
}
if (counter < 3) {
System.out.println("Sie haben " + counter + " korrekte Zahl. Sie haben nichts gewonnen.");
} else if (counter == 3) {
System.out.println("Sie haben " + counter + " korrekte Zahl. Sie haben 1000 € gewonnen.");
} else if (counter == 4) {
System.out.println("Sie haben " + counter + " korrekte Zahl. Sie haben 3000 € gewonnen.");
} else if (counter == 5) {
System.out.println("Sie haben " + counter + " korrekte Zahl. Sie haben 5000 € gewonnen.");
} else {
System.out.println("Sie haben " + counter + " korrekte Zahl. Sie haben 10000 € gewonnen.");
}
System.out.println("Gewinne Zahl : " + Arrays.toString(numbers));
System.out.println("Userzahl : " + Arrays.toString(benutzer));
System.out.println("korektezahl : " + korektezahl);
do {
System.out.println("Möchten Sie nocheinmal spielen? j/n ");
String restart = scannerVariable.next();
isRestart = false;
if (restart.equals("j")) {
isRestart = true;
isRepeat = false;
counter = 0;
System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
} else if (restart.equals("n")) {
isRestart = false;
isRepeat = false;
} else {
System.out.println("Falsche Eingabe. Bitte wählen Sie j oder n .");
isRepeat = true;
isRestart = false;
}
} while (isRepeat);
} while (isRestart == true);
scannerVariable.close();
System.out.println("Aufwiedersehen");
}
}
Danke für Ihrem Hilfe