使用 Java 显示一个数的所有因数

在本程序中,您将学习在 Java 中使用 for 循环显示给定数字的所有因子。

要理解此示例,您应该具备以下 Java 编程的知识:

示例 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: 1 2 3 4 5 6 10 12 15 20 30 60

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

for 循环反复进行直到 i <= number 是假的。在每次迭代中, 检查 number 是否完全可以被 i 整除。

示例 2:负数的因数

public 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: -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() 方法返回数字的绝对值。