Java java.lang.ArithmeticException查找数字的倍数

时间:2014-04-28 23:16:37

标签: java loops

我试图找到输入的数字的倍数,但每次用户输入0时我都会收到此错误。

Exception in thread "main" java.lang.ArithmeticException: / by zero

是的,我知道你不能除以零,但必须有办法让这项工作。

即使输入零,这仍然可以工作。

 public static int prob1Rec(int num1, int num2) {

        int sum = 0;
        for (int i = 1; i < 500; i++) {
            if ((i % num1 == 0) || (i % num2 == 0)) {
                sum += i;
            }
        }
        return sum;
    }

注意:如果其中一个数字为零,我仍然想要加上另一个数字的倍数。

2 个答案:

答案 0 :(得分:1)

您可以将if更改为

if ((num1 != 0 && i % num1 == 0) || (num2 != 0 && i % num2 == 0)) {

答案 1 :(得分:0)

表达式i % num1执行除法,因此您的代码不安全。

将此行添加为方法的第一行:

if (num1 == 0 || num2 == 0)
    return 0;