Hallo, ich bin noch Anfänger in Java und kenne mich nicht besonders gut mit dem Programm aus. Wollte deshalb als Übung Schere, Stein Papier programmieren. Habe im Prinzip ein fertiges Programm, doch wenn ich die erste Antwort eingebe, wird mir eine Fehlermeldung angezeigt. Könnte mir jemand erklären was diese bedeutet und was ich an meinem Code verändern muss?
Code:
import java.util.Scanner;
public class scheresteinpapier {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int runden= 0;
int schere = 1;
int stein = 2;
int papier = 3;
int user=0;
int pc=0;
int userchoice;
double pcchoice;
while(runden<3)
{
System.out.print("Waehle Schere, Stein oder Papier.");
pcchoice = (int) (Math.random()*3);
userchoice = scanner.nextInt();
if (userchoice==schere)
{
if(pcchoice==schere)
{
System.out.print("Unentschieden!");
}
else if(pcchoice==stein){
System.out.print("Der PC hat diese Runde gewonnen!");
pc++;
}
else{
System.out.print("Du hast diese Runde gewonnen!");
user++;
}
}
else if (userchoice==stein)
{
if(pcchoice==schere)
{
System.out.print("Du hast diese Runde gewonnen!");
user++;
}
else if(pcchoice==stein){
System.out.print("Unentschieden!");
}
else{
System.out.print("Der PC hat diese Runde gewonnen!");
pc++;
}
}
else {
if(pcchoice==schere)
{
System.out.print("Der PC hat diese Runde gewonnen!");
pc++;
}
else if(pcchoice==stein){
System.out.print("Du hast diese Runde gewonnen!");
user++;
}
else{
System.out.print("Unentschieden!");
}
}
runden+=1;
}
if (pc==user)
{
System.out.print("Das Spiel ist unentschieden ausgangen!");
}
else if (pc<user){
System.out.print("Du hast das Spiel gewonnen!");
}
else{
System.out.print("Der Pc hast das Spiel gewonnen!");
}
}
}
Fehlermeldung:
ERROR!
Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
at scheresteinpapier.main(scheresteinpapier.java:21)