Java 查找数字的通用根程序

编写一个 Java 程序来查找数字的通用根,并附带示例。此 Java 通用根计算背后的公式就是直到得到一个小于 10 的个位数输出,计算一个数字所有数字的总和。例如,98765 的通用根 = 9 + 8 + 7 + 6 + 5 = 35 = 8。

Java 查找数字通用根的示例 1

此程序允许用户输入任何正整数值。然后,此 Java 程序使用 While 循环、For 循环和 If Else 语句来计算给定数字的通用根。

// Java Program to find Generic Root of a Number
import java.util.Scanner;

public class GenericRoot1 {
	private static Scanner sc;
	public static void main(String[] args) 
	{
		int Number, Sum, Reminder;
		sc = new Scanner(System.in);
		
		System.out.print(" Please Enter any Integer Value : ");
		Number = sc.nextInt();	
		
		while(Number >= 10)
		{
			for (Sum=0; Number > 0; Number= Number/10)
		    {
				Reminder = Number % 10;
				Sum=Sum + Reminder;  
		    }
		    if(Sum >= 10)
		    {
		    	Number = Sum;
		    }
		    else
		    {
		    	System.out.println("\n The Generic Root of a Given Number = " + Sum);
		    }
		}
	}
}
Java Program to find Generic Root of a Number 1

用户输入此 Java 程序查找数字通用根的值:数字 = 236

While 循环 – 第一次迭代: while (Number >= 10)
条件为真。因此,它进入 For 循环

For 循环第一次迭代: for(Sum=0; Number > 0; Number= Number/10)
=> (Sum=0; 234 > 0; Number = 234/10) – 条件为真。
余数 = Number % 10
余数 = 234 % 10 = 4
Sum = 0 + 4 = 4

接下来,Number 由 For 循环更新。
Number = Number/10 => 234/10
Number = 23

第二次迭代:for(Sum=0; 23 > 0; Number = 23/10)
条件为真。
余数 = 23 % 10 = 3
Sum = 4 + 3 = 7

Number = 23/10
Number = 2

第三次迭代: for(Sum=0; 2 > 0; Number = 2/10)
条件为真。
余数 = 2 % 10 = 2
Sum = 7 + 2 = 9

Number = 2/10
Number = 0.2

第四次迭代:for(Sum=0; 0.2 > 0; Number = 0.2/10)
条件为假。

接下来,Java 编译器进入 If Else 语句

if(Sum >= 10) – 条件为假。因此,它执行 Else 块内的语句。

Java 查找数字通用根的示例 2

Java 程序用于计算数字的通用根,与上面的示例相同。但我们将逻辑分开了,并将其放在一个单独的方法中。

// Java Program to find Generic Root of a Number
import java.util.Scanner;

public class GenericRoot2 {
	private static Scanner sc;
	public static void main(String[] args) 
	{
		int Number;
		sc = new Scanner(System.in);
		
		System.out.print(" Please Enter any Integer Value : ");
		Number = sc.nextInt();	
		
		GenericRoot(Number);
	}
	
	public static void GenericRoot(int Number)
	{
		int Sum, Reminder;
		
		while(Number >= 10)
		{
			for (Sum=0; Number > 0; Number= Number/10)
		    {
				Reminder = Number % 10;
				Sum=Sum + Reminder;  
		    }
		    if(Sum >= 10)
		    {
		    	Number = Sum;
		    }
		    else
		    {
		    	System.out.println("\n The Generic Root of a Given Number = " + Sum);
		    }
		}
	}
}

Java 通用根输出

 Please Enter any Integer Value : 987586

 The Generic Root of a Given Number = 7