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

标签 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;
    }

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

最佳答案

您可以将if更改为

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

关于Java java.lang.ArithmeticException 查找数字的倍数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23352783/

相关文章:

java - 如何排除 Java Web 服务故障?

javascript - 如何在 react 页面上正确显示带有对象(来自另一个文件)的数组?

java - 如何让 Guice 将带注释的注入(inject)绑定(bind)到单个实例

java - 在不使用 contains 或 indexOf 方法的情况下检查给定字符串是否包含子字符串

loops - 在 Ansible 中,将 `with_items` 的使用替换为 `loop` 并使用内联定义的字典列表

c++ - 如何在 C++ 中的 while 循环中存储先前的迭代?

java - 循环、get/set 方法和多个类,天啊

python - 从两个 DataFrame 列加载信息的函数

java - 我可以 "start over"一个 java 扫描器吗?

java - 我无法获得调用此代码的确切方法