gpt4 book ai didi

java - 为什么此代码将结果加 1?

转载 作者:行者123 更新时间:2023-11-29 10:18:24 25 4
gpt4 key购买 nike

If if (n > 0) 它返回正常结果,但是 if (n >= 0) 它返回正常结果 + 1,我不知道不明白,因为 0 * 0 = 0。如果有人知道为什么会这样,我很想弄清楚。

import java.util.*;

// Recursive method returns sum of first n squares
public class RecursiveSum
{
public static void main(String[] args)
{
while (true)
{
Scanner keyboard = new Scanner(System.in);

System.out.println("Enter a number:\tIf you want to exit, enter a negative number.");

int n = keyboard.nextInt();

if (n < 0)
System.exit(0);

System.out.println("sum(" + n + ") = " + sum(n));
}
}

public static int sum(int n)
{
int sum2 = n * n;

if (n >= 0)
sum2 += sum(n - 1);

return sum2;
}
}

最佳答案

if(n>=0) 使方法以 -1 作为参数递归调用自身。并且 sum(-1) == -1 * -1 == 1

关于java - 为什么此代码将结果加 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11767581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com