1

我的家庭作业有问题,希望能得到一些帮助。

我必须将文本文件读入 2D int 数组。二维数组的宽度固定为 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.

实际上,这是 Java 对 C 时代不断定义的数组限制的解决方案。

于 2012-05-26T21:08:46.240 回答
0

您需要做的是计算每个单独列的总和(简单;您不需要保留整个状态,只需保留每列的运行总数)加上行数。鉴于此,计算每列的平均值应该很容易。您可以一次只读取一行来完成所有这些操作,并且您的解决方案应该能够处理任何长度的文件。

于 2012-05-26T21:11:35.953 回答