该方法的目的是遍历一个名为 grid[][] 的二维整数数组,并根据最大值和最小值将整数转换为 100 到 250 之间的较小范围(原来的最小值变为 100,原来的最大值变为 250,并分别计算其间的一切)。调用此方法时,会发生除以零 ArithmeticException。
显然我在这里犯了一些逻辑错误......我只是没有看到修复。任何人都可以帮忙吗?
public int greenValues(int arrayVal) {
int max = 0;
int min = 0;
int colorValue = 0;
int temp;
for (int i = 0; i < grid.length; i++) { // finds maximum and minimum numbers in file
for (int j = 0; j < grid.length; j++) {
if (max < grid[i][j]) {
max = grid[i][j];
}
if (min > grid[i][j]) {
min = grid[i][j];
}
}
}
int arrayRange = (max-min); // arrayVal, arrayRange, and max and min are 0
temp = (((arrayVal-min) * COLOR_RANGE) / arrayRange) + 100; // map values to range of 100 - 250
colorValue = temp;
return colorValue;
}