2017-01-23 4 views
-1

У меня есть программа в java, где пользователь должен дать команду. Однако, если он нажмет войти без чего-то еще программа останавливается, и он получает это:Если пользователь нажимает кнопку ввода (без каких-либо других), как я могу распечатать строку («пожалуйста, дайте действительную команду»)?

 
Exception in thread "main" java.util.NoSuchElementException: No line found 
    at java.util.Scanner.nextLine(Unknown Source) 
    at UserInterface.main(UserInterface.java:43) 

Как это возможно, что я могу обнаружить с помощью программы, которая не найдена ни одна строка, и я распечатать следующее ("пожалуйста, дайте действительная команда ").

Я попытался это:

Scanner keyboard = new Scanner(System.in); 

String command = keyboard.nextLine(); 
if (command == "") { 
    System.out.println("please give a valid command"); 
} 
+0

читать, как для сравнения строк, это никогда не будет работать: если (команда == «») { –

+4

Возможный дубликат [как сравнить две строки в Java?] (HTTP://stackoverflow.com/questions/8832380/how-to-compare-two-strings-in-java) –

ответ

-1

Surround заявление с Try/уловом

... 
String command = ""; 
try { 
    keyboard.nextLine(); 
} catch (Exceptionn e) {} 
... 

Это будет поймать исключение.

-1

Попробуйте это:

if(command.equals("")){ 
     System.out.println("please give a valid command"); 
    } 
1

1) Вы можете использовать метод isEmpty() от самого сканера, чтобы выяснить, если входной сигнал не является «ничего».

Попробуйте это:

Scanner keyboard = new Scanner(System.in); 
String command = keyboard.nextLine(); 

if (command.isEmpty()) 
    { 
     System.out.println("Please give a valid command."); 
    } 

2) Вы не можете сравнить две строки, как вы делали либо. Если вы хотите их сравнить, вам необходимо использовать метод equals(Object anObject). Вот пример:

Scanner keyboard = new Scanner(System.in); 
String command = keyboard.nextLine(); 

if (command.equals("A String")) 
    { 
     System.out.print("Success"); 
    } 

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

  • Нет связанных вопросов^_^