1

宿題に問題があり、助けを見つけたいと思っています。

テキスト ファイルを 2D int 配列に読み込む必要があります。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
4

2 に答える 2

0

このような動的に拡大するマトリックスにプレーンな配列を使用することはお勧めしません。適切な実装については、 List & ArrayListのドキュメントを読むことをお勧めします。

Java ドキュメントから: [ArrayList is a] resizable-array implementation of the List interface.

実際、これは、C 時代の常に定義されている配列の制限に対する Java のソリューションです。

于 2012-05-26T21:08:46.240 に答える
0

あなたがする必要があるのは、各個別の列の合計を計算することです (簡単です。状態全体を保持する必要はなく、各列の現在の合計のみを保持する必要があります) と、行数のカウントです。それを考えると、各列の平均を計算するのは簡単なはずです。一度に 1 行だけを読み取る単一のパスでこれらすべてを実行でき、ソリューションは任意の長さのファイルを処理できる必要があります。

于 2012-05-26T21:11:35.953 に答える