java - i need to get MINx, MAXx, MINy, MAXy -
i need min x , max x , miny , max y .....i wrong value
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]; (int = 0; < matrix.length; i++) { (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); }
output
- maximum of x 9.0
- minimum of x 1.0
- maximum of y 2.5 >> wrong value
- minimum of y 1.0 >> wrong value
you're doing complicated, single for
loop. you're changing in each comparison i
parameter , know whether it's x
or y
compare second dimension of array changing 0
x
or 1
y
.
for (int = 0; < 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]; } }
and need initialize miny
, maxy
follows:
double miny = matrix[0][1]; double maxy = matrix[0][1];
instead of
double miny = matrix[0][0]; double maxy = matrix[0][0];
however have gotten solution using debugger suggested @jimgarrisson in comment above.
this correctly outputs:
maximum of x 1.0 minimum of x 9.0 maximum of y 2.5 minimum of y 10.0
next time should post actual output (which did) and expected output (which didn't)
Comments
Post a Comment