如何在Java中将方法返回值作为参数传递给其他方法
可行解法如下
直接在main方法内部、调用getWin前,先单独调用三个方法,将返回值存入局部变量,再把变量传入getWin即可,只会触发一次交互逻辑,完全符合你要求的变量传参写法:
public static void main(String[] args) { // 变量类型替换为对应方法的实际返回类型即可 int dice = rollTheDice(); int bet = givenBet(); int bid = givenBid(); // 直接传入变量调用,不会重复触发交互 Out.print(getWin(dice, bet, bid)); }
之前方法外初始化失败的原因
你如果是在类作用域(方法外)声明变量并赋值,属于类成员变量初始化逻辑,执行时机早于main方法,还可能因为方法是静态/非静态的适配问题导致编译报错,完全不需要用成员变量,直接在main方法内部声明局部变量即可。
补充说明
Java中方法调用每次执行都会跑完整的方法内部逻辑,你把方法调用写在参数位置时,每调用一次getWin就会重新执行三次方法逻辑,存到局部变量后相当于缓存了返回值,后续重复使用该变量都不会再触发方法内部的交互逻辑。
内容的提问来源于stack exchange,提问作者Dave Twickenham
相关产品推荐
相关产品推荐

