我在尝试解决递归任务时遇到了麻烦,但没有成功.
分配的目标是调用函数
reverseNumbers(new Scanner("11 23 31 49 56 611"))
Run Code Online (Sandbox Code Playgroud)
并获得输出
"611 56 49 31 23 11"
Run Code Online (Sandbox Code Playgroud)
虽然不允许使用数组,列表,字符串和方法应该只声明一个变量.
我写的代码不起作用.我收到了一个StackOverflow错误,我明白为什么会这样.这是因为参数scan不会改变,并且必须使递归起作用.但是,我不知道如何使用Scanner实用程序中提供的工具更改输入参数.
public static String reverseNumbers(Scanner scan){
if (!scan.hasNext()) {
return "";
}
else {
return reverseNumbers(scan) + " " + scan.nextInt();
}
}
Run Code Online (Sandbox Code Playgroud)