2017-10-22 5 views
0
Scanner in = new Scanner(System.in); 
String s = in.nextLine(); 
String[] strings = s.split("\\n"); 

for (int i = 0; i < strings.length; i++) { 
    System.out.println(strings[i]); 
} 

文字列が\nで分割されていません。なぜ私は理解できません。入力例はApples\nOranges\nMangoesです。String.split( " n")がスキャナ入力で機能しない

+3

これは、スキャナが最初の行「Apples」を取得しているためです。 '\ n'で自分で分割する必要はありません。スキャナから複数の行を読み込むだけです。 –

+3

あなたは 's.nextLine()'を呼んでいますが、どういうわけか*すべての行がそこにあると期待していますか? – alfasin

+0

'String s = s.nextLine();'で初期化されていないオブジェクトに対してスキャナメソッドを呼び出しています。たぶんそれは単にタイプミスです。 – luckydog32

答えて

1

文字列が\nで分割されていません。

文字列\nが含まれていません。 JavadocのScanner.nextLine()を参照してください。

すべての行を読み込んで印刷する場合は、すべての行を読み込む必要があります。ループで。そのためにはString.split()は必要ありません。

関連する問題