Java 程序查找 N 个自然数的和

使用 For 循环、While 循环、函数和递归编写一个 Java 程序来查找 N 个自然数的和,并附带示例。

Java 程序使用 For 循环查找 N 个自然数的和

此程序允许用户输入任何整数值(最大限制值)。接下来,该程序使用 For 循环计算从 1 到最大限制值的 N 个自然数的总和。

import java.util.Scanner;

public class SumOfNaturalNumbers1 {
	private static Scanner sc;
	public static void main(String[] args) 
	{
		int number, i, sum = 0;
		sc = new Scanner(System.in);
		
		System.out.print(" Please Enter any Number : ");
		number = sc.nextInt();	
		
		for(i = 1; i <= number; i++)
		{
			sum = sum + i; 
		}	
		
		System.out.println("\n The Sum of Natural Numbers from 1 to "+ number + " = " + sum);
	}
}
Java Program to find Sum of N Natural Numbers 1

用户输入的数值:number = 6

首先,我们使用 For 循环迭代从 1 到最大值(此处,number = 6)。

For 循环第一次迭代: for(i = 1; i <= 6; i++)。条件为真。
sum = sum + i
sum = 0 + 1 = 1

第二次迭代: (i = 2; 2 <= 6; 2++)。所以,sum = 1 + 2 = 3

第三次迭代: (i = 3; 3 <= 6; 3++)。所以,sum = 3 + 3 = 6

第四次迭代: (i = 4; 4 <= 6; 4++)。所以,sum = 6 + 4 = 10

第五次迭代: (i = 5; 5 <= 6; 5++)。所以,sum = 10 + 5 = 15

第六次迭代: (i = 6; 6 <= 6; 6++)。所以,sum = 15 + 6 = 21

第七次迭代: (i = 7; 7 <= 6; 7++)。条件 (7 <= 6) 为假。因此,Java 编译器退出 For 循环

Java 程序使用 While 循环查找 N 个自然数的和

此程序用于计算 N 个自然数的和,与上面的程序相同,但这次我们使用的是 While 循环

import java.util.Scanner;

public class Example2 {
private static Scanner sc;
public static void main(String[] args)
{
int number, i = 1, sum = 0;
sc = new Scanner(System.in);

System.out.print(" Please Enter any : ");
number = sc.nextInt();

while(i <= number)
{
sum = sum + i;
i++;
}

System.out.println("\n The Result from 1 to "+ number + " = " + sum);
}
}
Please Enter any : 10

The Result from 1 to 10 = 55

Java 程序使用函数查找 N 个自然数的和

级数和 1 + 2+ 3+ … + N = N * (N + 1) / 2 的数学公式。在此程序中,我们创建了一个单独的方法来计算自然数的和。

在函数中,我们使用 If Else 语句 来检查数字是否等于零。如果为真,则 N 个自然数的和 = 0。否则,它执行 N * (N + 1) / 2

import java.util.Scanner;
public class Example3 {
	private static Scanner sc;
	public static void main(String[] args) 
	{
		int number, sum = 0;
		sc = new Scanner(System.in);
		
		System.out.print(" Please Enter any Number : ");
		number = sc.nextInt();	
		
		sum = SNat(number);
		System.out.println("\n The Sum of Natural Numbers from 1 to "+ number + " = " + sum);
	}
	
	public static int SNat(int num)
	{		
		if(num == 0)
		{
			return num;
		}
		else
		{
			return (num * (num + 1)/2);
		}
	}
}
Java Program to find Sum of N Natural Numbers using Functions

Java 程序使用递归方法计算 N 个自然数的和

此自然数和程序与上面的示例相同。但在本程序中,我们递归调用 SoNat 方法并更新值。

import java.util.Scanner;
public class Example4 {
private static Scanner sc;
public static void main(String[] args)
{
int num, sum = 0;
sc = new Scanner(System.in);

System.out.print(" Please Enter any : ");
num = sc.nextInt();

sum = SoNat(num);
System.out.println("\n Output = " + sum);
}
public static int SoNat(int num)
{
if(num == 0)
{
return num;
}
else
{
return (num + SoNat(num - 1));
}
}
}
Please Enter any : 80
Output = 3240

范围内自然数的和

Java 程序 允许输入最小值和最大值。接下来,程序查找最小和最大值之间的自然数的和。

import java.util.Scanner;
public class Example5 {
	private static Scanner sc;
	public static void main(String[] args) 
	{
		int minimum, maximum, i, sum = 0;
		sc = new Scanner(System.in);
		
		System.out.print(" Please Enter the Minimum value : ");
		minimum = sc.nextInt();			
		
		System.out.print(" Please Enter the Maximum value : ");
		maximum = sc.nextInt();	
		
		for(i = minimum; i <= maximum; i++)
		{
			sum = sum + i; 
		}	
		
		System.out.println("\n The Sum of Natural Numbers from " + minimum + " to "+ maximum + " = " + sum);
	}
}
 Please Enter the Minimum value : 5
 Please Enter the Maximum value : 100

 The Sum of Natural Numbers from 5 to 100 = 5040