2017-02-09 2 views
-2

поэтому я работал над программой для школы на Java, и я использую Eclipse для mac osx. Когда я запускаю программу, она дает мне эту ошибку:Java - сообщение об ошибке InputMismatchException

Exception in thread "main" java.util.InputMismatchException 
at java.util.Scanner.throwFor(Scanner.java:864) 
at java.util.Scanner.next(Scanner.java:1485) 
at java.util.Scanner.nextInt(Scanner.java:2117) 
at java.util.Scanner.nextInt(Scanner.java:2076) 
at Dank.main(Dank.java:13) 

Это код:

   import java.util.Scanner; 
      public class Dank 
      { 
static Scanner in = new Scanner(System.in); 
public static void main(String args[]) 
{ 
int antonio='0'; 
int answer; 
System.out.print("Whats your name? "); 
answer = in.nextInt(); 
if (answer == antonio) { 
    System.out.println("are you sure? you are a Dank Meme "+answer); 
} 
else 
{ 
     System.out.println("Damn, you aren't a Dank Meme "+answer); 
} 
    } 
    } 
+3

Вам необходимо указать ваш фактический код в своем вопросе, а не ссылку на картинку вашего кода. – azurefrog

+2

Пожалуйста, разместите необходимый код, чтобы воспроизвести проблему как обычный текст здесь (** нет ** изображений, ссылок и т. Д.). – Paul

+0

Просто поместите строку «статического сканера ...» INTO и не OUT из основного, вы никогда не получите такой код из ниоткуда, а не в метод – azro

ответ

0

в in.nextInt() только позволяет целое число в качестве входных данных. Поэтому, если вы введете строку, она даст вам inputmismatchexception. попробуйте изменить его на .nextLine(). ваше состояние раньше. он не читает «0» как 0. программа читает его как символ «0», поэтому возвращает 48, потому что вы передали его в int. попробуйте использовать этот код.

public class TestClass { 


static Scanner in = new Scanner(System.in); 
public static void main(String args[]) 
{ 
String antonio = "0"; 
String answer; 

System.out.print("Whats your name? "); 
answer = in.nextLine(); 
if (answer .equalsIgnoreCase(antonio)) { 
System.out.println("are you sure? you are a Dank Meme "+answer); 
} 
else 
{ 
System.out.println("Damn, you aren't a Dank Meme "+answer); 
} 
} 

} 
+0

и что касается сравнения строки, если вам нужно. (ответ .equalsIgnoreCase (antonio)) вместо использования "==" –

Смежные вопросы