示例 1: 正整数的因数
public class Main { public static void main(String[] args) { // positive number int number = 60; System.out.print("Factors of " + number + " are: "); // loop runs from 1 to 60 for (int i = 1; i <= number; ++i) { // if number is divided by i // i is the factor if (number % i == 0) { System.out.print(i + " "); } } } }
输出
Factors of 60 are: 1 2 3 4 5 6 10 12 15 20 30 60
在上面的程序中,要找到其因数的数字存储在变量
number(60)中。
for
循环被迭代,直到
i <= number
为假。在每次迭代中,检查
number 是否可以被
i 整除(
i 的条件是
number >) 并且
i 的值增加 1、
示例 2: 负数的因数
class Main { public static void main(String[] args) { // negative number int number =-60; System.out.print("Factors of " + number + " are: "); // run loop from-60 to 60 for(int i = number; i <= Math.abs(number); ++i) { // skips the iteration for i = 0 if(i == 0) { continue; } else { if (number % i == 0) { System.out.print(i + " "); } } } } }
输出
Factors of-60 are:-60-30-20-15-12-10-6-5-4-3-2-1 1 2 3 4 5 6 10 12 15 20 30 60
在上面的例子中,我们计算了一个负数的所有因子。在这里,
for
循环从 -60 运行到 60。
并且,当
i的值为0时,跳过迭代。否则会出现异常。
注意: Math.abs() 方法返回数字的绝对值。