我试图找到输入的数字的倍数,但每次用户输入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;
}
注意:如果其中一个数字为零,我仍然想要加上另一个数字的倍数。
答案 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;