我需要得到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);
}
输出
答案 0 :(得分:0)
你做得太复杂了,你可以用一个for
循环来做。您在每次比较中更改的所有内容都是i
参数,并了解它是X
还是Y
您只比较数组的第二个维度,将其更改为{ {1}} 0
或X
{1}}。{/ p>
1
您需要按如下方式初始化Y
和for (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];
下次你还应该发布你的实际输出(你做了)和你的预期输出(你没有做过)