跳到主要内容

Java 程序:显示一个数字的因子

要理解这个示例,你应该具备以下 Java 编程 主题的知识:

示例 1:正整数的因数

public class Main {

public static void main(String[] args) {

// 正数
int number = 60;

System.out.print(number + " 的因数有: ");

// 循环从 1 到 60
for (int i = 1; i <= number; ++i) {

// 如果数字可以被 i 整除
// i 就是因数
if (number % i == 0) {
System.out.print(i + " ");
}
}
}
}

输出

60 的因数有: 1 2 3 4 5 6 10 12 15 20 30 60

在上面的程序中,要找因数的数字存储在变量 number(60)中。

for 循环迭代直到 i <= number 不成立。在每次迭代中,都会检查 number 是否能被 i 完全整除(inumber 的因数的条件),然后 i 的值增加 1。

示例 2:负数的因数

class Main {

public static void main(String[] args) {

// 负数
int number = -60;
System.out.print(number + " 的因数有: ");

// 循环从 -60 到 60
for(int i = number; i <= Math.abs(number); ++i) {

// 跳过 i = 0 的迭代
if(i == 0) {
continue;
}
else {
if (number % i == 0) {
System.out.print(i + " ");
}
}
}
}
}

输出

-60 的因数有: -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 循环从 -6060

i 的值是 0 时,会跳过该次迭代。否则,会出现异常。

注意Math.abs() 方法返回数字的绝对值。