好吧..我有一个方法,基本上检查玩家是否可以购买该字段,如果他可以然后将他设置为所有者并返回true。我所指的方法是if语句中的buyFieldFromBank。
但我想检查我的方法是否返回true,如果确实如此,请询问用户是否要购买。我真的可以这样做吗?或者代码是否已经将他设置为if语句中的所有者?或者只是“检查”它是否变为真,而不实际执行代码?
if(landRegistry.buyFieldFromBank(currentPlayer, newPosID)==true){
if(GUI.getUserButtonPressed(currentPlayer.getName() + ", vil du købe " + newPosition.getFieldName() + "Ja", "Nej")=="Ja"){
landRegistry.buyFieldFromBank(currentPlayer, newPosID);
答案 0 :(得分:3)
一些明显的问题:
1)您正在使用==
而不是.equals
来比较字符串中的字符串,如果在这里讨论该问题的话,那就是Link
2)通过调用landRegistry.buyFieldFromBank
您正在执行该方法,因此它已经完成。您需要一个像landRegistry.isUserEligible(currentPlayer,newPosId)
这样的方法来检查第一个if语句。如果它同时通过了第一个&它应该调用buyFieldFromBank
方法的次要条件。如果第二个if应该属于isUserEligible
方法调用,也值得考虑;如果它是确定资格的逻辑的一部分,它可能最适合那里。
3)如果您正在调用的方法返回布尔值,则第一个if的== true
部分是多余的。所以你可以放弃那个部分,让方法自己调用。
答案 1 :(得分:1)
如果您使用.
调用方法,则始终执行该方法。它还有什么用呢?你应该改变你的设计。