私は、playoffs.txtというファイルからデータを読み取るプログラムを作成しています。BufferedReaderを使用して1行に複数のデータ値を読み取る
Panthers:0:Atlantic
Lightning:0:Atlantic
Red Wings:0:Atlantic
私は各チームのためにこれをプリントアウトforループを実行したい:各行はそうのように、それぞれがコロンで区切られ、チーム名、スコア、および部門を持っている
Team: Panthers
Series Score: 0
Division: Atlantic
しかし、 readLineは行全体を印刷するように見えるので、各行の値をどのように区切るかを考え出すのが難しいです。ここに私の方法です:
private static void series(String team1) throws FileNotFoundException, IOException{
BufferedReader in = new BufferedReader(new FileReader("playoffs.txt"));
String[] team = new String[0];
int[] score = new int[0];
String[] division = new String[0];
String s;
int j = 0;
while((s = in.readLine()) != null){
String[] var = s.split(":");
team[j] = in.readLine(var[0]);
score[j] = in.read();
division[j] = in.read();
cout.println(team[j]);
cout.println(score[j]);
cout.println(division[j]);
j++;
}
}
私は、Javaと私は私の質問に類似していた別のStackOverflowの質問で見つかったs.splitラインに新たなんだ、それは文字列がブール値に変換することができません」というエラーが実行されます。 "私はまた、readLine()とread()の違いについて混乱しています。適切な方向に私を指差して、それぞれの価値を別々に読むことができれば幸いです。
配列を長さ「0」に初期化しようとしています。つまり、0以上の要素を保持しません。 'ArrayList'クラスのように動的に割り当てられた配列を使うことをお勧めします。 –