2016-05-30 8 views
0

私はクラスのプロジェクトを進めていますが、問題は続いています。ユーザーが停止するとプログラムを終了しようとしています。私はテキストを削除する場合= input.nextLine();コードは正しく動作しますが、ユーザーが要求したときには停止しません。私はまた、新しいスキャナオブジェクトを作成しようとしましたが、それは問題を解決しませんでした。この問題の助けに感謝します。 ありがとうございます。複数のスキャナオブジェクトがクラッシュするJavaプログラム

class blah 
{  

public static void main(String[] args) 
{ 
Scanner input = new Scanner(System.in); 
String text = (""); 

while(!text.equals("stop")) 
    { 
    System.out.print("Insert the number of items, holder value and passing value:"); 
    text = input.nextLine(); 
    int items = input.nextInt(); 
    int holder = input.nextInt(); 
    int passing = input.nextInt(); 
    killBot5000 josephus = new killBot5000(items,holder,passing); 
    josephus.execute(); 
    } 
} 

} 

答えて

0

問題は、入力は、それがstopありそうでない場合ならば、分割を決め、あなただけの入力の行を受け入れるようにコードを変更することができます文字列stopまたは3の整数

のいずれかにできることですintに変換できる3つのトークンに1行にします。

while(!text.equals("stop")) 
{ 
    System.out.print("Insert the number of items, holder value and passing value:"); 
    text = input.nextLine(); 

    if (text.equalsIgnoreCase ("stop")) break; 

    String arr [] = text.split (" "); 
    int items = Integer.valueOf (arr[0]); 
    int holder = Integer.valueOf (arr[1]); 
    int passing = Integer.valueOf (arr[2]); 
    killBot5000 josephus = new killBot5000(items,holder,passing); 
    josephus.execute(); 
} 
+0

恐ろしい!完璧に働いてくれてありがとう! – wawiiii

関連する問題