我需要获得MINx,MAXx,MINy,MAXy

时间:2016-01-07 17:41:46

标签: java

我需要得到MIN x,Max x,MINy,MAX y .....我得错了值

public static void main(String[] args) {
    double[][] matrix = new double [5][2];
    matrix [0][0] = 1.0;
    matrix [0][1] = 2.5;
    matrix [1][0] = 3;
    matrix [1][1] = 4;
    matrix [2][0] = 5;
    matrix [2][1] = 6;
    matrix [3][0] = 7;
    matrix [3][1] = 8;
    matrix [4][0] = 9;
    matrix [4][1] = 10;
    double minx = matrix[0][0];
    double maxx = matrix[0][0];
    double miny = matrix[0][0];
    double maxy = matrix[0][0];
    for (int i = 0; i < matrix.length; i++) {
        for (int j = 0; j <matrix[0].length; j++) {
            if (minx > matrix[i][0]) {
                minx = matrix[i][0];
            }
            if (maxx < matrix[i][0]) {
                maxx = matrix[i][0];
            }
            if (maxy < matrix[i][0]) {
                maxy = matrix[0][j];
            } 
            if (miny > matrix[i][0]) {
                miny = matrix[0][j];
            }
        }
    }
    System.out.println("Maximum Of X " + maxx);
    System.out.println("Minimum Of X " + minx);
    System.out.println("Maximum Of Y " + maxy);
    System.out.println("Minimum Of Y " + miny);
}

输出

  1. 最大值X 9.0
  2. 最小值X 1.0
  3. 最大Y 2.5>&gt;错误的价值
  4. 最小值Y 1.0>&gt;错误的价值

1 个答案:

答案 0 :(得分:0)

你做得太复杂了,你可以用一个for循环来做。您在每次比较中更改的所有内容都是i参数,并了解它是X还是Y您只比较数组的第二个维度,将其更改为{ {1}} 0X {1}}。{/ p>

1

您需要按如下方式初始化Yfor (int i = 0; i < matrix.length; i++) { if (minx < matrix[i][0]) { minx = matrix[i][0]; } if (maxx > matrix[i][0]) { maxx = matrix[i][0]; } if (miny < matrix[i][1]) { miny = matrix[i][1]; } if (maxy > matrix[i][1]) { maxy = matrix[i][1]; } }

miny

而不是

maxy

但是你可以通过使用@JimGarrisson在他上面的comment中建议的调试器来获得这个解决方案。

这正确输出:

double miny = matrix[0][1];
double maxy = matrix[0][1];

下次你还应该发布你的实际输出(你做了)你的预期输出(你没有做过)