2017-01-23 14 views
-1

私は、ユーザがコマンドを与えなければならないjavaでプログラムを持っています。彼は他に何もせずに入力してを押した場合は、プログラムが停止し、彼はこれを取得しますユーザが何も入力せずにEnterキーを押した場合、どのように行を印刷できますか(「有効なコマンドを入力してください」)?

それは私が何行が見つからない、と私は次のことをプリントアウト(「お願いしているプログラムで検出できることが可能である方法
 
Exception in thread "main" java.util.NoSuchElementException: No line found 
    at java.util.Scanner.nextLine(Unknown Source) 
    at UserInterface.main(UserInterface.java:43) 

有効なコマンド ")。

私はこれを試してみました:これは、例外をキャッチします

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

のtry/catchで

Scanner keyboard = new Scanner(System.in); 

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

文字列を比較する方法を読んで、これは動作しません:ここで は一例である場合(コマンド==「」){[Javaで2つの文字列を比較する方法?](HTTPの –

+4

可能な複製:/ /stackoverflow.com/questions/8832380/how-to-compare-two-strings-in-java) –

答えて

-1

サラウンド声明。

-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)あなたは2つの文字列を比較することはできません。それらを比較したい場合は、equals(Object anObject)メソッドを使用する必要があります。

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

if (command.equals("A String")) 
    { 
     System.out.print("Success"); 
    } 
関連する問題