我想要做的是讀取文件並將數據存儲到數組中。它選擇的數組取決於文件中每行的數字量。我一直在爲索引超出界限。我做錯了什麼,而且我的代碼是否正確,我正在嘗試做什麼?讀取文件並將數據存儲到多個陣列時出錯
對於我正在閱讀的文件是這樣的。
>2.0 5.0 3.5
>
>5.2 0.5 4.8
>
>1.0
>
>2.5
我想具有3個數字的行被存儲在盒數組內並具有1數的行要被存儲球陣列的內部。不過,我希望能夠以線中的任意金額存入數組不只是這些4.
這是到目前爲止我的代碼。
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',但是在超出範圍之前永遠不會讀取該值。 –
此外,你的輸入文件是否真的包含這些'>'字符,或者他們是否嘗試使用塊引號格式? –