使用递归计算N个数之和的Java程序
在本文中,我们将学习如何使用递归在Java中求N个数之和。递归是指一个方法重复调用自身,直到满足基本条件。在Java中,每个递归调用都会被放入堆栈中,直到达到基本情况,之后返回值用于计算结果。
问题陈述
给定一个整数数组,编写一个Java程序使用递归查找所有N个数之和。输入
The user provides the value of N, the number of integers to sum.
The user inputs N integers to be summed.
输出
The program should output the sum of the N numbers.
使用递归求N个数之和的步骤。
以下是使用递归求N个数之和的步骤。
- 声明两个整数值和一个整数数组
- 从用户读取所需的值/定义值
- 定义一个递归函数“RecursiveSum”,它接收两个整数作为输入。该函数通过多次重复迭代自身来计算余数,直到达到基本条件。
- 调用递归函数“RecursiveSum”并将结果存储起来
- 将最终的和输出给用户。
使用递归计算N个数之和的Java程序
下面是一个使用递归计算N个数之和的Java程序示例
import java.util.Scanner;
public class ArraySum {
public static int RecursiveSum(int my_array[], int i,int N){
if (i == N)
return 0;
return my_array[i] + RecursiveSum(my_array, i + 1,N);
}
public static void main(String[] args){
int N, my_sum, i;
N = 6;
my_sum = 0;
System.out.println("Required packages have been imported");
Scanner my_scanner = new Scanner(System.in);
System.out.println("A reader object has been defined ");
System.out.print("Enter the value of N : ");
N = my_scanner.nextInt();
int my_array[] = new int[N];
System.out.println("Enter the elements of the array :" );
for ( i = 0 ; i < N ; i++ ){
my_array[i] = my_scanner.nextInt();
}
my_sum = RecursiveSum(my_array, 0, N);
System.out.println("\n The total of N numbers is : " + my_sum);
}
}
输出
Required packages have been imported A reader object has been defined Enter the value of N : 6 Enter the elements of the array : 15 30 45 80 100 140 The total of N numbers is : 410
访问并显示之前在控制台中定义的整数的Java程序。
以下是访问并显示之前在控制台中定义的整数的Java程序示例。
public class Main {
public static void main(String[] args) {
int[] my_array = {15, 20, 25, 30, 35, 40};
int my_input , i, array_size;
array_size = 5;
my_input = 25;
boolean my_check = false;
System.out.println("The number is defined as " +my_input);
System.out.println("The elements in the integer array is defined as :" );
for ( i = 0 ; i < array_size ; i++ ){
System.out.print(my_array[i] +" ");
}
for ( i = 0 ; i < array_size ; i++ ) {
if (my_array[i] == my_input) {
my_check = true;
break;
}
}
if(my_check)
System.out.println("\nThe array contains the given value");
else
System.out.println("\nThe array doesnot contain the given value");
}
}
输出
The number is defined as 25 The elements in the integer array is defined as : 15 20 25 30 35 The array contains the given value
代码解释
程序定义了一个递归函数RecursiveSum来计算数组的和。它会一直调用自身直到达到基本情况,并将当前元素添加到总和中。在main()函数中,用户输入数组大小和元素,最后程序使用RecursiveSum显示总和。广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP