行ごとの標準入力について
行ごとに標準入力(何行まで入力されるかはユーザより入力されるまで分からない)を行わせてsplit (対象:スペース区切り) し、それぞれの行のsplit後の要素数を出力するのを目標にプログラムを作りました。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
ArrayList<String> testList = new ArrayList<>();
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String str;
while((str = in.readLine()) != null) testList.add(str);
String[] test = testList.toArray(new String[testList.size()]);
String[] line = new String[test.length];
for(int i = 0; i < line.length; i++){
line[i] = test[i].split(" "); //エラー
System.out.println(line[i].length); //エラー
}
}
}
可変長のtestListを作成 → 行ごとに入力を読み込んでtestListに追加 → 変数testを作成し、ListのtestListを配列に変換する
というところまでは良くて、そこから配列testの要素 (String test[0], test[1], ……) をそれぞれsplitして分割した結果を配列lineに格納して細分化 (line[0][0], line[0][1], …… , line[1][0], line[1][1], ……) する作業で行き詰っています。
splitのところで「String[]をStringに変換することはできません」というエラーになってしまいます。その意味を分かりながらも、「line[i] = test[i].split(" ");」をうまく修正できず困っています。
ささいな事でも良いので、アドバイス頂けないでしょうか?