【发布时间】:2017-02-13 04:20:39
【问题描述】:
我不知道我是否清楚这一点,但我已经正确打印出最小值和最大值,但我似乎无法弄清楚如何说出它们所在的确切行和列。 这就是我到目前为止所拥有的;
double max = m[0][0];
double min = m[0][0];
System.out.println("The matrix is : ");
for(int i = 0; i < m.length; i++)
{
for ( int j = 0; j < m[i].length; j++ )
{
System.out.printf(" " + "%6.1f " , m[i][j]);
if (m[i][j] > max)
max = m [i][j];
else if
(m[i][j] < min)
min = m [i][j];
我如何发表声明说明他们的位置?例如:(“最大数量在第 1 行,第 2 列”)类似的东西...... 非常感谢任何帮助
【问题讨论】:
-
当你做
max = m[i][j]时,也存储位置。所以在顶部,有double max = m[0][0]; int x = 0; int y = 0;,其中x和y是坐标。所以在max = m[i][j]下,你写x = i; y = j;。 -
一般来说,存储最大值和最小值的最佳方式是在将值输入到数组时保留“运行”最大值和最小值的标签,如果您可以选择的话。您没有展示如何将值输入到数组中,所以我不知道您是在控制它还是它是外力。如果您将值输入到数组中,那么考虑到您已经有能力事先知道该信息,那么在事后尝试搜索它是不必要且浪费的。
标签: java arrays loops multidimensional-array max