前提・実現したいこと
Javaで標準入力で入力した値をリストに格納し、さらに空白があった場合そこで区切り、リスト、あるいは配列に格納したいのですがうまく行きません。
●したいこと
-入力データ
a
b
c
d
e(空白)f
g
-結果
配列 = {a,b,c,d,e,f,g}
ソースコード
使用言語: java
Scanner sc = new Scanner(System.in);
List<String> strs = new ArrayList<>();
while (sc.hasNext()) {
strs.add(sc.nextLine());
}
String num = strs.get(1);
List<String> kugiri = new ArrayList<>();
for(String s : strs) {
System.out.println(s);
kugiri = Arrays.asList(s.split(" "));
}
System.out.println("");
System.out.println(kugiri);
-入力データ
a
b
c
d
e f
g
-実行結果
a
b
c
d
e f
g
[g]
System.out.println(s); ここはただの確認用で出力しているだけですので無視していただいても問題ありません。
因みに
-入力データ
a
b
c
d
e f
ですと
-実行結果
a
b
c
d
e f
[e,f]
となりしっかり分けられてるように見えます、ただ
System.out.println(kugiri(1));と書きますと
error: cannot find symbolといったエラーになりインデックス指定で出力ができません。
最後にkugiriに入れてある値しか出力されないということはおそらくリストの使い方自体を間違えていて上書きしていってしまっているのと配列と混ざってしまっていると思うのですが、調べてみても解決どころかどんどん混乱してきてしまいます。
また 先に入力値を、出力するリストに格納した後にsplitで区切るのかそれよりも前なのかどちらが正しいのかも分からない状態です。
同じようなプログラムや記事が見当たらないため自分では限界だと思い質問させていただきます、おそらくこれだけでは情報が不十分かもしれないのでご教示いただけれると幸いです。
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。