2017-12-04 3 views
-2

私はユーザーが文字列を入力し、複数の単語の途中で削除するスペースが必要なコードを持っています。ここで文字列内の空白を削除するにはどうすればよいですか?

は私が持っているものです。

`System.out.println("Enter your choice:\n" 
      + "Type 'Player Name' to search for a player based off their name.\n" 
      + "Type 'Player School' to search for a player based off their school\n" 
      + "Type 'Team Location' to search for a team based off their location.\n" 
      + "Type 'Team Mascot' to search for a team based off their mascot.\n"); 
    String choice = input.next(); 
    choice = choice.replaceAll("\\s+", ""); 
    System.out.println(choice); 
    switch(choice.toLowerCase()){ 
    case "playername": 
     searchPlayer(); 
     break; 
    case "playerschool": 
     searchSchool(); 
     break; 
    case "teamlocation": 
     searchLocation(); 
     break; 
    case "teammascot": 
     searchMascot(); 
     break; 
    default: 
     System.out.println("Yet to be implemented"); 
     break; 
    }` 

これは私がスペースを含む場合、それは常にデフォルトのケースを返すがエラーを与えません。 私はなぜそれが動作していなかったかを見るために選択肢を印刷するために行を置いて、これを実行すると最初の単語しか保持しません。 たとえば、「Player Name」と入力すると「player」が返されます。

+1

'next()'のドキュメントを見ましたか? – Henry

+0

コンソール出力とは何ですか? –

答えて

2

input.nextLine()input.next()と変更して、入力行全体を考慮してください。 input.next()は、デリミタの場所に入力を保存します。デフォルトは1つ以上のスペースです。

関連する問題