gpt4 book ai didi

java - ArithmeticException 除以零...如何修复此方法?

转载 作者:行者123 更新时间:2023-12-01 22:20:44 28 4
gpt4 key购买 nike

该方法的目的是迭代一个名为 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;
}

最佳答案

此行是生成 ArithmaticExcpetion 的罪魁祸首。

temp = (((arrayVal-min) * COLOR_RANGE)/arrayRange) + 100;

动态计算arrayRange,因为您不知道该值何时为0。因此您可以使用trycatch包裹这一行阻止进行一些异常处理。

关于java - ArithmeticException 除以零...如何修复此方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29869079/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com