1
我在課堂作業,我們只能用數組和沒有集合類閱讀文本文件,並填寫從文本文件信息的數組工作。文件ArrayData.txt是以下信息。 該文件的格式以這種方式:填充與包含數組的數組雙打
3 //First line states how many sets are in the file
2 //Next line:there are x numbers in the set
10.22 567.98 //Next Line states the doubles that are in the set
//The pattern continues from there
1 // x numbers in the next set
20.55 // Double in the set
3
20.55 2.34 100.97
我的問題填充所述初始陣列的陣列,然後填充雙打第二陣列。
從本質上講,我希望它看起來像這樣:
initArray[0]=> smallArray[2]={10.22,5.67.98}
initArray[1]=> smallArray[1]={20.55}
initArray[2]=> smallArray[3]={20.55,2.34,100.97}
這是我到目前爲止有:
public static double[] largeArray;
public static double[] insideArray;
public static void main(String[] args) {
String fileInputName = "ArrayData.txt";
Scanner sc = null;
try {
sc = new Scanner(new BufferedReader(new FileReader(fileInputName)));
while (sc.hasNextLine()) {
int i = sc.nextInt();
largeArray= new double[i];
for(int x=0; x<i;x++)
{
int z = sc.nextInt();
insideArray= new double[z];
for(int y=0; y<z; y++)
{
insideArray[z]=sc.nextDouble();
}
}
}
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
finally {
if (sc != null)
sc.close();
}
}
首先,這是否邏輯甚至有意義嗎?其次,我一直得到一個數組超出界限的錯誤,所以我知道什麼是對的,我只是不知道在哪裏。
這可能是一個愚蠢的問題,但你如何在largeArray的正確的地方分配insideArray?它會像largeArray [i] [insideArray] –
'largeArray [x] = insideArray'。或者你可以直接使用'largeArray [x]'而不使用'insideArray'。 –
非常感謝你!這固定了一切! –