gpt4 book ai didi

java - 2 在同一函数中返回触发?

转载 作者:行者123 更新时间:2023-12-01 19:15:40 24 4
gpt4 key购买 nike

今天工作了几个小时,所以我可能会错过一些愚蠢的东西,但是,在这一点上我对此有点盲目,并寻找这种行为的解释

我举了一个我遇到的问题的例子,但我找到的解决方案并不完全是一个解决方案。

问题:对于以下函数,我将 1 作为 shotCount 传递,将 9 作为 Countdown 传递我调试时的结果,我看到第一个 if 运行,并运行返回 2,但随后 else 也决定运行并最终返回 -1

    public int getNextShot(int shotCount, int Countdown)
{
if ((shotCount == 1) && (Countdown != 10)) return 2;
else if (shotCount == 0) return 1;
else return -1;
}

但是如果我这样做(相同的参数)它会起作用:

   public int getNextShot(int shotCount, int Countdown)
{
int res = -2;
if ((shotCount == 1) && (Countdown != 10)) res = 2;
else if (shotCount == 0) res = 1;
else res = -1;
return res;
}

我在这里遗漏了什么吗?

谢谢:)

最佳答案

我认为你错了。

有时 Eclipse 中的调试器会跳转到方法调用的最后一行,但随后会返回正确的值。

例如,我刚刚复制并粘贴了您的代码,它对我来说运行良好。下面的代码打印 2。

public class AA {

public static void main(String[] args) {

System.out.println(getNextShot(1, 9));

}

public static int getNextShot(int shotCount, int Countdown)
{
if ((shotCount == 1) && (Countdown != 10)) return 2;
else if (shotCount == 0) return 1;
else return -1;
}
}

关于java - 2 在同一函数中返回触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6755952/

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