不久前,我在Java中启动了代码,直到遇到问题为止。在控制台中,该代码是这样写的:
线程“ Thread-2”中的异常java.lang.ArithmeticException:/减零。
在MyPackage.MyClass.draw(MyClass.java:180)...
我去了错误发生的地方,这是代码:
if (map [row] [col] == 0) continue;
int rc = map [row] [col];
int r = rc / numTilesAcross;
int c = rc% numTilesAcross;
...
col和row的值为0 ...我不明白问题出在哪里...有人会帮助我吗?
非常感谢。
最佳答案
在程序中可能发生除零的唯一位置是:
int r = rc / numTilesAcross;
这意味着,您正在尝试将
rc
除以0-numTilesAcross
变量为零。如果您希望此操作有效,则需要确保numTilesAcross
在执行时永远不会为零,例如,使用if条件:if numTilesAcross == 0 {
// do something else
} else {
int r = rc / numTilesAcross;
}