如何在 Java 中检查一个数是否能被另一个数整除

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,你将学习如何在 Java 中检查一个数是否能被另一个数整除。我们将探讨使用取模运算符 (%) 来判断整除性,方法是检查除法运算的余数是否为零。

你将练习对不同的数字和除数使用取模运算符,还将学习如何处理除以零的特殊情况,以防止 Java 程序出现错误。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java/BasicSyntaxGroup -.-> java/operators("Operators") java/BasicSyntaxGroup -.-> java/variables("Variables") java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/BasicSyntaxGroup -.-> java/output("Output") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/exceptions("Exceptions") subgraph Lab Skills java/operators -.-> lab-559961{{"如何在 Java 中检查一个数是否能被另一个数整除"}} java/variables -.-> lab-559961{{"如何在 Java 中检查一个数是否能被另一个数整除"}} java/if_else -.-> lab-559961{{"如何在 Java 中检查一个数是否能被另一个数整除"}} java/output -.-> lab-559961{{"如何在 Java 中检查一个数是否能被另一个数整除"}} java/exceptions -.-> lab-559961{{"如何在 Java 中检查一个数是否能被另一个数整除"}} end

使用取模运算判断整除性

在这一步中,我们将探讨如何在 Java 中使用取模运算符 (%) 来检查整除性。取模运算符会返回除法运算的余数。如果除法的余数为 0,则表示该数能被除数整除。

让我们创建一个新的 Java 程序来演示这一点。

  1. 在左侧的文件资源管理器中打开 ~/project 目录。

  2. ~/project 目录的空白处右键单击,然后选择“新建文件”。

  3. 将新文件命名为 DivisibilityCheck.java

  4. 在代码编辑器中打开 DivisibilityCheck.java 文件。

  5. 将以下代码复制并粘贴到编辑器中:

    public class DivisibilityCheck {
        public static void main(String[] args) {
            int number = 10;
            int divisor = 2;
    
            // Use the modulo operator to check for divisibility
            if (number % divisor == 0) {
                System.out.println(number + " is divisible by " + divisor);
            } else {
                System.out.println(number + " is not divisible by " + divisor);
            }
    
            number = 11;
            divisor = 3;
    
            if (number % divisor == 0) {
                System.out.println(number + " is divisible by " + divisor);
            } else {
                System.out.println(number + " is not divisible by " + divisor);
            }
        }
    }

    让我们来看看新的部分:

    • int number = 10;:这行代码声明了一个名为 number 的整数变量,并将其赋值为 10。
    • int divisor = 2;:这行代码声明了一个名为 divisor 的整数变量,并将其赋值为 2。
    • number % divisor:这是取模运算。它计算 number 除以 divisor 的余数。
    • if (number % divisor == 0):这是一个 if 语句。它检查取模运算的结果是否等于 0。如果是,则执行 if 块内的代码。
    • else:如果 if 语句中的条件为假(余数不为 0),则执行 else 块内的代码。
  6. 保存文件(Ctrl+S 或 Cmd+S)。

  7. 打开 WebIDE 底部的终端。确保你位于 ~/project 目录中。如果不是,请输入 cd ~/project 并按回车键。

  8. 输入以下命令并按回车键来编译 Java 程序:

    javac DivisibilityCheck.java

    如果没有错误,你将看不到任何输出。~/project 目录中会创建一个 DivisibilityCheck.class 文件。

  9. 输入以下命令并按回车键来运行编译后的 Java 程序:

    java DivisibilityCheck

    你应该会看到以下输出:

    10 is divisible by 2
    11 is not divisible by 3

这个输出证实了我们的程序正确地使用了取模运算符来检查整除性。

使用不同的除数进行测试

在上一步中,我们检查了 10 是否能被 2 整除,以及 11 是否能被 3 整除。现在,让我们修改程序,使用不同的数字和除数进行测试,看看取模运算符的表现。

  1. 如果 DivisibilityCheck.java 文件尚未在 WebIDE 编辑器中打开,请打开它。

  2. 让我们在 main 方法中添加更多示例。在 main 方法的结束花括号 } 之前添加以下代码行:

            System.out.println("\nTesting with different numbers:");
    
            number = 15;
            divisor = 5;
            if (number % divisor == 0) {
                System.out.println(number + " is divisible by " + divisor);
            } else {
                System.out.println(number + " is not divisible by " + divisor);
            }
    
            number = 20;
            divisor = 7;
            if (number % divisor == 0) {
                System.out.println(number + " is divisible by " + divisor);
            } else {
                System.out.println(number + " is not divisible by " + divisor);
            }
    
            number = 100;
            divisor = 10;
            if (number % divisor == 0) {
                System.out.println(number + " is divisible by " + divisor);
            } else {
                System.out.println(number + " is not divisible by " + divisor);
            }

    我们添加了三个新的检查,使用了不同的 numberdivisor 值。System.out.println("\nTesting with different numbers:"); 这行代码只是添加了一个空行和一个标题,以使输出更清晰。

  3. 保存修改后的 DivisibilityCheck.java 文件(Ctrl+S 或 Cmd+S)。

  4. 打开终端,确保你位于 ~/project 目录中。

  5. 编译更新后的 Java 程序:

    javac DivisibilityCheck.java

    同样,如果编译成功,你将看不到任何输出。

  6. 运行编译后的程序,查看新测试用例的结果:

    java DivisibilityCheck

    你现在应该会看到上一步的输出,后面跟着新测试用例的输出:

    10 is divisible by 2
    11 is not divisible by 3
    
    Testing with different numbers:
    15 is divisible by 5
    20 is not divisible by 7
    100 is divisible by 10

通过添加这些测试用例,你可以看到取模运算符如何正确识别一个数是否能被另一个数整除。这是许多编程任务中使用的基本概念,例如检查数字是偶数还是奇数,或者按固定间隔执行操作。

处理除以零的情况

在数学中,除以零是未定义的。在编程里,尝试除以零(或以零作为除数进行取模运算)通常会导致错误。在代码中处理这种情况很重要,以防止程序崩溃。

让我们修改 DivisibilityCheck.java 程序,加入对除以零情况的检查。

  1. 在 WebIDE 编辑器中打开 DivisibilityCheck.java 文件。

  2. 我们将添加一个除数为 0 的新测试用例。在 main 方法的结束花括号 } 之前添加以下代码:

            System.out.println("\nTesting division by zero:");
    
            number = 10;
            divisor = 0;
    
            if (divisor == 0) {
                System.out.println("Error: Division by zero is not allowed.");
            } else if (number % divisor == 0) {
                System.out.println(number + " is divisible by " + divisor);
            } else {
                System.out.println(number + " is not divisible by " + divisor);
            }

    以下是我们添加的内容:

    • if (divisor == 0):这是一个新的 if 语句,用于检查 divisor 变量是否等于 0。
    • System.out.println("Error: Division by zero is not allowed.");:如果除数为 0,这行代码会打印一条错误消息。
    • else if (number % divisor == 0):这是一个 else if 语句。只有当第一个 if 条件(divisor == 0)为假时,才会检查此语句。在这里,我们进行取模检查,但前提是除数不为零。
  3. 保存修改后的 DivisibilityCheck.java 文件。

  4. 打开终端,确保你位于 ~/project 目录中。

  5. 编译更新后的 Java 程序:

    javac DivisibilityCheck.java
  6. 运行编译后的程序:

    java DivisibilityCheck

    你应该会看到之前步骤的输出,接着是除以零测试用例的输出:

    10 is divisible by 2
    11 is not divisible by 3
    
    Testing with different numbers:
    15 is divisible by 5
    20 is not divisible by 7
    100 is divisible by 10
    
    Testing division by zero:
    Error: Division by zero is not allowed.

通过添加 if (divisor == 0) 检查,我们让程序更加健壮,避免了除数为零时可能出现的错误。这是编写可靠代码的一个重要方面。

总结

在这个实验中,我们学习了如何在 Java 中使用取模运算符 (%) 来检查一个数是否能被另一个数整除。我们创建了一个 Java 程序 DivisibilityCheck.java,并使用 if 语句来检查除法的余数 (number % divisor) 是否等于 0。如果余数为 0,则该数能被除数整除。我们通过数能被整除和不能被整除的示例展示了这一点。