小编Lut*_*aes的帖子

递归地反转扫描仪输入的数字_order_

我在尝试解决递归任务时遇到了麻烦,但没有成功.

分配的目标是调用函数

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)

java recursion java.util.scanner

4
推荐指数
1
解决办法
379
查看次数

标签 统计

java ×1

java.util.scanner ×1

recursion ×1