gpt4 book ai didi

java - 方法返回负值

转载 作者:行者123 更新时间:2023-11-30 02:22:59 26 4
gpt4 key购买 nike

我正在尝试创建一种方法来检查输入是否是大于零的 double 值。检查它是否确实是 double 值在我的代码中工作正常,但是,即使在输入负值时它提示重新输入值,最终,在输入正值后它返回之前输入的负值

 public static double isValid(double v){
Scanner scan = new Scanner(System.in);
if (scan.hasNextDouble()){
v = scan.nextDouble();
if (v<=0) {
System.out.println("You have to use a positive number");
isValid(v);
}
else {
return v;
}
}
else {
System.out.println("Thats not how it works");
isValid(v);
}
return v;
}

最佳答案

您需要返回递归调用的结果:

return isValid(v);

它返回最后一个无效值,因为从递归调用返回后,执行继续到方法底部的返回,返回v。此时,v 是最后一个无效值。

关于java - 方法返回负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46333545/

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