Это мой код: -Как это исправить java.util.InputMismatchException
import java.util.Random;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner hs = new Scanner(System.in);
Random ran = new Random();
int [] player = new int [3];
int [] com = new int [3];
//play mode
System.out.println("Please select mode: ");
System.out.println("1. Practice mode. ");
System.out.println("2. Game mode. ");
System.out.println("3. End. ");
int input = hs.nextInt(); //mode
int draw = 0 ;
int Player1=0;
int Com1=0;
if(input == 1){
System.out.println("You select Practice mode.");
for(int i = 0 ; i < 3 ; i++){
com[i] = ran.nextInt(2);
if(com[i] == 0){
System.out.print("剪刀 ");
}else if(com[i] == 1){
System.out.print("石頭 ");
}else if(com[i] == 2){
System.out.print("布 ");
}
}
for(int i = 0 ; i <= 2 ; i++){
player[i] = hs.nextInt();
if(com[i] == 0){
System.out.print("剪刀 ");
}else if(com[i] == 1){
System.out.print("石頭 ");
}else if(com[i] == 2){
System.out.print("布 ");
}
}
hs.close();
for(int i = 0 ; i <=2 ; i++){
if(player[i]==com[i]){
draw ++;
}else if(player[i]-com[i]<0)
{
Com1 ++;
}else{
Player1++;
}
System.out.println("Player"+ Player1+"com"+ Com1 + "Draw"+ draw);
}
}else if(input == 2){
System.out.println("Game Mode : input the way you want , three time");
}else{
System.out.println("fatal error , game will be close");
}
}
Я много раз пытался, но Существует выход мо.
Это игра, бумага, ножницы для скалы.
но нет выхода, только исключение в потоке "main" java.util.InputMismatchException
Вы уверены, что используете ввод как 1 2 или 3? Если вы дадите вход char, это исключение может случиться! –