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;
}
(x,尽管问题很模糊,但给出答案只有一种解释方法:
原始给定程序和“固定”程序之间行为的唯一区别是当输入为负时。给定语句,当输入为负时,合理的结果是返回0
(这是固定程序所做的),而原始程序无限循环(并导致堆栈溢出/未定义行为)。定义“错误”。对于负输入,函数应该返回什么?谢谢。该方法应该将值从1加到x
。说明手册中给出了错误,没有进一步解释其含义。变量x的int类型位于parentheses@user202729.谢谢你的用户!我会删除else。如果如果条件为true,则它将退出。