Java 递归和

Java 递归和,java,Java,找出以下递归求和函数中的错误: public int sum (int x){ if(x==0) return 0; else return sum(x-1)+x; } 基本大小写应返回1而不是0 基本情况应该是(x,尽管问题很模糊,但给出答案只有一种解释方法: 原始给定程序和“固定”程序之间行为的唯一区别是当输入为负时。给定语句,当输入为负时,合理的结果是返回0(这是固定程序所做的),而原始程序无限循环(并导致堆栈溢出/未定义行为)。定义“错误”。对于负输入,函数应该返回什么?谢谢。

找出以下递归求和函数中的错误:

public int sum (int x){
  if(x==0) return 0;
  else return sum(x-1)+x;
}
  • 基本大小写应返回1而不是0

  • 基本情况应该是
    (x,尽管问题很模糊,但给出答案只有一种解释方法:


    原始给定程序和“固定”程序之间行为的唯一区别是当输入为负时。给定语句,当输入为负时,合理的结果是返回
    0
    (这是固定程序所做的),而原始程序无限循环(并导致堆栈溢出/未定义行为)。

    定义“错误”。对于负输入,函数应该返回什么?谢谢。该方法应该将值从1加到
    x
    。说明手册中给出了错误,没有进一步解释其含义。变量x的int类型位于parentheses@user202729.谢谢你的用户!我会删除else。如果如果条件为true,则它将退出。