ある問題なのですが、
標準入力で
3
a b c
と与えられています。
abcの英数字の隙間は半角スペースで開いています。
この入力をscannerで読み込むときに
1 Scanner sc = new Scanner(System.in);
2 int n = sc.nextInt();
3 String line = sc.nextLine();
4 String array[] = line.split(" ");
5 System.out.println(array[0]);
とすると3行目のを入力する間もなく終了しました。
比較として
a b c
だけで
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
String array[] = line.split(" ");
System.out.println(array[0]);
とするとaが表示されました。
nextInt()の後にnextLine()とすると2行目の文字列は読み込むことができないのでしょうか?
また理由はなんなのでしょうか?
###発生している問題・エラーメッセージ
エラーメッセージ
###該当のソースコード
java
ここにご自身が実行したソースコードを書いてください
###試したこと 別の解法で Scanner sc = new Scanner(System.in); int n = sc.nextInt(); String a[] = new String[3]; for(int i=0;i<3;i++){ a[i] = sc.next(); } System.out.println(a[0]); これで3回入力はできて表示もでたのですがnextLineがだめな理由がわかりません。 nextLineで空白を含む文字列を読み込むという認識はあります。 ###補足情報(言語/FW/ツール等のバージョンなど) より詳細な情報

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/28 01:42