【发布时间】:2017-08-30 10:32:52
【问题描述】:
我在尝试解决递归分配时遇到了麻烦并且没有成功。
赋值的目的是调用函数
reverseNumbers(new Scanner("11 23 31 49 56 611"))
得到输出
"611 56 49 31 23 11"
虽然不允许使用数组、列表、字符串和方法,但应该只声明一个变量。
我写的代码不起作用。我收到StackOverflow 错误,我明白我为什么会收到这个错误。这是因为参数scan 没有改变,它必须让递归工作。但是,我不知道如何使用 Scanner 实用程序中提供的工具更改输入参数。
public static String reverseNumbers(Scanner scan){
if (!scan.hasNext()) {
return "";
}
else {
return reverseNumbers(scan) + " " + scan.nextInt();
}
}
【问题讨论】:
-
家庭作业问题,试图解决它并描述 OP 面临的问题。那是罕见的景象。 +1
标签: java recursion java.util.scanner