第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何檢查方法transferMoney(User fromUser, User toUser

如何檢查方法transferMoney(User fromUser, User toUser

慕慕森 2024-01-17 21:09:27
@Overridepublic void withdraw(User user, int amount) {    if (!checkWithdraw(user,amount))        return;    user.setBalance(user.getBalance() - amount - amount*user.getBank().getCommission(amount));}@Overridepublic void fund(User user, int amount) {    if (!checkFund(user, amount))        return;    user.setBalance(user.getBalance() + amount);}@Overridepublic void transferMoney(User fromUser, User toUser, int amount) {    if (!checkWithdraw(fromUser,amount))        return;    if (!checkFund(toUser, amount))        return;    fromUser.setBalance(fromUser.getBalance()-amount-amount*fromUser.getBank().getCommission(amount));    toUser.setBalance(toUser.getBalance()+amount);    **if (fromUser.getBank().getCurrency()==toUser.getBank().getCurrency()) return;**}我需要檢查用戶之間的貨幣是否不同,如果是,我需要返回 null。我覺得不對(duì),幫我看看
查看完整描述

1 回答

?
慕碼人8056858

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊

要知道轉(zhuǎn)賬是否已完成,我建議返回一個(gè)布爾值,然后檢查貨幣并false如果不同則返回。還可以使用您編寫的方法來轉(zhuǎn)賬,這也是一個(gè)好主意


@Override

public boolean transferMoney(User fromUser, User toUser, int amount) {

    if (!checkWithdraw(fromUser, amount)) return false;

    if (!checkFund(toUser, amount)) return false;

    if (fromUser.getBank().getCurrency() != toUser.getBank().getCurrency()) return false;


    withdraw(fromUser, amount);

    fund(toUser, amount);

    return true;

}

但是,隨著方法withdraw和fund檢查的進(jìn)行,會(huì)調(diào)用冗余代碼,您可以這樣做:


@Override

public boolean withdraw(User user, int amount) {

    if (!checkWithdraw(user, amount)) return false;

    user.setBalance(user.getBalance() - amount - amount * user.getBank().getCommission(amount));

    return true;

}


@Override

public boolean fund(User user, int amount) {

    if (!checkFund(user, amount)) return false;

    user.setBalance(user.getBalance() + amount);

    return true;

}


@Override

public boolean transferMoney(User fromUser, User toUser, int amount) {

    if (fromUser.getBank().getCurrency() != toUser.getBank().getCurrency()) return false;

    return withdraw(fromUser, amount) && fund(toUser, amount);

}

解釋:

  • 你會(huì)打電話給withdraw

    • 如果有效,它將返回true,并且邏輯表達(dá)式的第二部分將被測試并執(zhí)行

    • 如果它不起作用(checkWithdraw不好),它將返回false,并且邏輯表達(dá)式的第二部分將不會(huì)被執(zhí)行,并且您將不會(huì)執(zhí)行fund其他帳戶

  • 如果withdraw返回,true它將調(diào)用該fund方法,并且全局將返回

    • fund返回 true :true && true所以返回true

    • fund返回 false:true && false所以返回false


查看完整回答
反對(duì) 回復(fù) 2024-01-17
  • 1 回答
  • 0 關(guān)注
  • 149 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)