このメソッドの目的は、grid[][] と呼ばれる整数の 2D 配列を繰り返し処理し、最大値と最小値に基づいて整数を 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;
}