Java 查找数字因数的程序

编写一个 Java 程序,使用 For 循环、While 循环、Do While 循环和函数来查找一个数的因数。能够被给定数字整除的数字(即余数为 0)称为给定数字的因数。

Java 查找数字因数的程序(使用 For 循环)

此 Java 程序允许用户输入任何整数值。接下来,此程序将使用 Java For 循环查找数字的因数。

import java.util.Scanner;

public class FactorsOfNumberUsingFor {
private static Scanner sc;

public static void main(String[] args) {
int Number, i;
sc = new Scanner(System.in);

System.out.println("Please Enter any number to Find Factors: ");
Number = sc.nextInt();

for(i = 1; i <= Number; i++) {
if(Number%i == 0) {
System.out.format(" %d ", i);
}
}
}
}
Java Program to Find Factors of a Number 1

在此 Java 程序中,我们声明了两个整数变量 Number 和 i。以下语句将提示用户输入任何正整数。然后,该数字被赋值给变量 Number。

System.out.println("Please Enter any number to Find Factors: ");
Number = sc.nextInt();

在下一行,我们有一个 For 循环,for 循环内的条件 (i <= Number) 将确保 i 不会超过该数字。在 For 循环内,我们使用 If 条件来检查 Number % i 是否等于零。如果条件为 True,则打印 i 作为输出。请参阅 Java If 语句文章以了解 If else 语句。

for(i = 1; i <= Number; i++) {
	if(Number%i == 0) {
		System.out.format(" %d  ", i);
	}
}

让我们根据迭代来看这个 Java 程序查找数字因数的 For 循环的工作原理。从上面的屏幕截图中,用户输入的值为:Number = 6。

第一次迭代

对于第一次迭代,Number = 6 且 i = 1

  • For 循环内的条件 (1 <= 6) 为 TRUE。因此,编译器将开始执行 For 循环内的语句
  • 在 for 循环内,我们有 If 语句,条件 if (6 % 1 == 0) 为 TRUE。因此,System.out.format(” %d “, i); 语句将被打印
  • 最后,i 将增加 1。请参阅 Java 中的递增和递减运算符文章以了解 ++ 符号。

第二次迭代

从第一次迭代开始,i 的值变为 i = 2

  • For 循环内的条件 (2 <= 6) 为 TRUE。因此,编译器将开始执行 For 循环内的语句
  • 在 for 循环内,if 条件 if (6 % 2 == 0) 为 TRUE。因此,System.out.format(” %d “, i); 语句将被打印
  • 最后,i 将增加 1。

第三次迭代

从第二次迭代开始,i 的值为 i = 3

  • For 循环内的条件 (3 <= 6) 为 TRUE。
  • 在 for 循环内,if 条件 if (6 % 3 == 0) 为 TRUE,因此 System.out.format(” %d “, i); 语句将被打印
  • 最后,i 将增加 1。

Java 程序查找数字因数的第四次迭代

从第三次迭代开始,i 的值为 i = 4

  • For 循环内的条件 (4 <= 6) 为 TRUE。
  • 在 for 循环内,if 条件 if (6 % 4 == 0) 为 False。因此,System.out.format(” %d “, i); 语句将不会被打印
  • 最后,i 将增加 1。

第五次迭代

从第四次迭代开始,i = 5

  • For 循环内的条件 (5 <= 6) 为 TRUE。
  • 在 for 循环内,if 条件 if (6 % 5 == 0) 为 False。因此,System.out.format(” %d “, i); 语句将不会打印。
  • 最后,i 将增加 1。

Java 程序查找数字因数的第六次迭代

从第五次迭代开始,i 的值变为 i = 6

  • For 循环内的条件 (6 <= 6) 为 TRUE。
  • 在 for 循环内,if 条件 if (6 % 6 == 0) 为 True。因此,System.out.format(” %d “, i); 语句将打印。
  • 最后,i 增加 1。

第七次迭代

从第六次迭代开始,i 的值为 i = 7,For 循环内的条件 (7 <= 6) 为 FALSE。因此,Java 编译器将退出 For 循环。

Java 查找数字因数的程序(使用 While 循环)

Java 程序允许用户输入任何整数值。通过使用此值,此程序将使用 Java While 循环查找数字的因数。

import java.util.Scanner;

public class FactorsOfNumberUsingWhile {
private static Scanner sc;

public static void main(String[] args) {
int Number, i = 1;
sc = new Scanner(System.in);

System.out.println("Please Enter any number to Find Factors: ");
Number = sc.nextInt();

while(i <= Number) {
if(Number % i == 0) {
System.out.format(" %d ", i);
}
i++;
}
}
}

我们只是用 While 循环替换了上面的示例中的 Java For 循环。如果您不理解 While 循环,请参阅它。

Please Enter any number to Find Factors: 
30
 1   2   3   5   6   10   15   30  

Java 查找数字因数的程序(使用 Do While 循环)

此 Java 程序允许用户输入任何整数值。通过使用此值,此程序将使用 Do While 循环查找数字的因数。

package SimplerPrograms;

import java.util.Scanner;

public class FactorsOfNumberUsingDoWhile {
	private static Scanner sc;
	
	public static void main(String[] args) {
		int Number, i = 1;
		sc = new Scanner(System.in);
		
		System.out.println("Please Enter any number to Find Factors: ");
		Number = sc.nextInt();
		
		do {
			if(Number%i == 0) {
				System.out.format(" %d  ", i);
			}
			i++;
		} while(i <= Number);
	}
}

我们只是用 Do While 循环替换了上面的示例中的 While 循环。如果您不理解 do while 循环的功能,请参阅 Java Do While 循环

 Please Enter any number to Find Factors: 
256
 1   2   4   8   16   32   64   128   256 

Java 查找数字因数的程序(使用函数)

此 Java 程序允许用户输入任何正整数值。然后,我们将用户输入的值传递给我们创建的方法。在此用户定义函数中,此程序将使用 Java For 循环查找数字的因数

package SimplerPrograms;

import java.util.Scanner;

public class FactorsOfNumberUsingMethods {
	private static Scanner sc;
	
	public static void main(String[] args) {
		int Number;
		sc = new Scanner(System.in);		
		System.out.println("Please Enter any number to Find Factors: ");
		Number = sc.nextInt();
		
		FactorsOfNumber(Number);

	}
	public static void FactorsOfNumber(int Number) {
		int i;
		for (i = 1; i <= Number; i++) {
			if(Number % i == 0) {
				System.out.format(" %d  ", i);
			}
		}
	}
}
 Please Enter any number to Find Factors: 
640
 1   2   4   5   8   10   16   20   32   40   64   80   128   160   320   640  

在此示例中,我们正在调用 FactorsofNumber(Number) 方法。

FactorsOfNumber(Number);

当编译器在 main() 程序中遇到 FactorsofNumber(Number) 行时,编译器将立即跳转到下面的函数

public static void FactorsOfNumber(int Number) {

评论已关闭。