不久前,我在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;
}

10-07 16:19