私がやっていることは、ファイルを読み込んでデータを配列に格納することです。ファイル内の各行の数値に応じて選択する配列。私はインデックスの範囲外に出てくる。私は何をやっているのですか?ファイルを読み込んで複数の配列にデータを格納する際にエラーが発生する
私が読んでいるファイルは、このようなものです。
>2.0 5.0 3.5
>
>5.2 0.5 4.8
>
>1.0
>
>2.5
ボックス配列内に3つの番号を持つ行を、ボール配列の内部に1つの番号を持つ行を格納します。しかし、これらの配列だけでなく、配列に任意の量の行を格納できるようにしたい。
これはこれまでのコードです。
import java.io.*;
public class MainProg{
public static void main(String[] args) throws IOException{
FileReader fr = new FileReader("info.txt");
BufferedReader br = new BufferedReader(fr);
String nums;
int count =0;
int lineNo = 0;
while((nums = br.readLine()) != null){
String numbers[] = nums.split(" ");
double[][] ball = new double[lineNo][];
if(numbers.length == 3){
for(int i = 0; i < numbers.length; i++){
double[][] box = new double[lineNo][i];
box[lineNo][i] = Double.parseDouble(numbers[lineNo]);
lineNo++;
System.out.println(box[i] + " ");
}
}else{
while(numbers.length == 1 && ((nums = br.readLine()) != null)){
int p = 0;
ball[count][p] = Double.parseDouble(numbers[count]);
p++;
count++;
}
}
}
}
}
私はオブジェクトの配列でこれを行うことになっていますが、私はこの方法を最初に行う方法を理解したいと思います。
「p」は、ハードコードされた「0」で置き換えることができます。はい、 'p'は時々' 1'にインクリメントされますが、その値はスコープから外れる前には決して読み込まれません。 –
また、あなたの入力ファイルに本当にそれらの '>'文字が含まれているのですか、またはブロッククォートフォーマットの試みでしたか? –