我正在尝试编写一个简单的递归程序,它将打印出输入之前的所有整数和输入本身的规范和。例如,输入 5 应打印出“1 + 2 + 3 + 4 + 5”。输入必须大于零。将不胜感激在正确方向上的颠簸。
import java.util.Scanner;
public class Quiz10
{
public static void main (String[] args)
{
int input;
System.out.println("Please enter an integer greater than one: ");
Scanner scan = new Scanner(System.in);
input = scan.nextInt();
sumReverse(input);
}
public static void sumReverse(int n)
{
int x = n;
if(x == 1)
System.out.print(x);
else if(x > 0)
{
System.out.print(x + " + " + (x-1));
}
x--;
sumReverse(x);
}
}
编辑:输入 5 我目前得到:“线程“主”java.lang.StackOverflowError 中的 5 + 44 + 33 + 22 + 11Exception ...”