2012-05-25 175 views
1

我的家庭作業有問題,希望找到一些幫助。Java中的二維數組的實際尺寸(二維數組填充區域),

我必須將文本文件讀入2D詮釋數組。 二維數組的寬度固定爲5,永遠不會改變。但是,數組的高度可能會根據文本文件的長度而改變。

我必須從一個40x5數組開始;超過40行的任何文件將不被接受,但少於40將是可以的。所以,我可能只填充X行的數組(X < = 40)。

我必須計算每列的平均值,所以我需要列中有多少個元素;有什麼辦法可以得到嗎? 或者我知道X是什麼後,可以將原始數組的大小(包含所有數據)更改爲Xx5?

將樣品輸入文件:

 
034 080 055 078 045 
060 100 056 078 078 
070 010 066 078 056 
034 009 077 078 020 
045 040 088 078 055 

輸出應爲:

 
48.6 47.8 68.4 78.0 50.8 
+0

我不明白 - 數組如何填充?每個單元格是一行,每行一行,...? –

+0

該陣列應該填充每個單元格一個數字。 –

回答

0

我不推薦使用像這樣的動態擴展矩陣純陣列。我建議閱讀List & ArrayList文檔以獲得良好實施。

從Java文檔: [ArrayList is a] resizable-array implementation of the List interface.

在效果上,這是Java的溶液到的C-天不斷定義的陣列的限制。

0

你需要做的是計算每個單獨列的總和(簡單;你不需要保持整個狀態,只需要每列的運行總數)加上行數。鑑於此,計算每列的平均值應該很容易。您可以一次只讀一行來完成所有操作,而且您的解決方案應該能夠處理任意長度的文件。