简介
在这个实验中,你将学习如何在 Java 中检查一个数是否能被另一个数整除。我们将探讨使用取模运算符 (%
) 来判断整除性,方法是检查除法运算的余数是否为零。
你将练习对不同的数字和除数使用取模运算符,还将学习如何处理除以零的特殊情况,以防止 Java 程序出现错误。
在这个实验中,你将学习如何在 Java 中检查一个数是否能被另一个数整除。我们将探讨使用取模运算符 (%
) 来判断整除性,方法是检查除法运算的余数是否为零。
你将练习对不同的数字和除数使用取模运算符,还将学习如何处理除以零的特殊情况,以防止 Java 程序出现错误。
在这一步中,我们将探讨如何在 Java 中使用取模运算符 (%
) 来检查整除性。取模运算符会返回除法运算的余数。如果除法的余数为 0,则表示该数能被除数整除。
让我们创建一个新的 Java 程序来演示这一点。
在左侧的文件资源管理器中打开 ~/project
目录。
在 ~/project
目录的空白处右键单击,然后选择“新建文件”。
将新文件命名为 DivisibilityCheck.java
。
在代码编辑器中打开 DivisibilityCheck.java
文件。
将以下代码复制并粘贴到编辑器中:
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
块内的代码。保存文件(Ctrl+S 或 Cmd+S)。
打开 WebIDE 底部的终端。确保你位于 ~/project
目录中。如果不是,请输入 cd ~/project
并按回车键。
输入以下命令并按回车键来编译 Java 程序:
javac DivisibilityCheck.java
如果没有错误,你将看不到任何输出。~/project
目录中会创建一个 DivisibilityCheck.class
文件。
输入以下命令并按回车键来运行编译后的 Java 程序:
java DivisibilityCheck
你应该会看到以下输出:
10 is divisible by 2
11 is not divisible by 3
这个输出证实了我们的程序正确地使用了取模运算符来检查整除性。
在上一步中,我们检查了 10 是否能被 2 整除,以及 11 是否能被 3 整除。现在,让我们修改程序,使用不同的数字和除数进行测试,看看取模运算符的表现。
如果 DivisibilityCheck.java
文件尚未在 WebIDE 编辑器中打开,请打开它。
让我们在 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);
}
我们添加了三个新的检查,使用了不同的 number
和 divisor
值。System.out.println("\nTesting with different numbers:");
这行代码只是添加了一个空行和一个标题,以使输出更清晰。
保存修改后的 DivisibilityCheck.java
文件(Ctrl+S 或 Cmd+S)。
打开终端,确保你位于 ~/project
目录中。
编译更新后的 Java 程序:
javac DivisibilityCheck.java
同样,如果编译成功,你将看不到任何输出。
运行编译后的程序,查看新测试用例的结果:
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
程序,加入对除以零情况的检查。
在 WebIDE 编辑器中打开 DivisibilityCheck.java
文件。
我们将添加一个除数为 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
)为假时,才会检查此语句。在这里,我们进行取模检查,但前提是除数不为零。保存修改后的 DivisibilityCheck.java
文件。
打开终端,确保你位于 ~/project
目录中。
编译更新后的 Java 程序:
javac DivisibilityCheck.java
运行编译后的程序:
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,则该数能被除数整除。我们通过数能被整除和不能被整除的示例展示了这一点。