簡體   English   中英

布爾值和if語句出現問題

[英]Trouble with boolean and if statement

當我嘗試此代碼時:

public boolean eligibleForBonus(double salary) {
    if(salary >=40000) {
        return true;
    }
    else {
        return false;
    }
    }   

@Override
public String toString() {
    if (eligibleForBonus()){
    return (code I want to return);
    }
    else {
    return (code I want to return);
    }
    }

我在(eligibleForBonus())上收到一條錯誤消息,提示“類型為Employee(the class)的methodForwardForBonus(double)不適用於參數()”。 我是編程新手,已經嘗試了所有可以想到的方法,但是我做錯了任何幫助,將不勝感激! 謝謝 :)

如您在此處聲明的, eligibleForBonus()需要一個類型為double的參數

public boolean eligibleForBonus(double salary) {}

您必須給eligibleForBonus一個雙重參數

例如

public String toString() {
    if (eligibleForBonus(100.0)){
    return (code I want to return);
    }
    else {
    return (code I want to return);
    }
    }

你的方法eligibleForBonus(double salary)預計類型的參數雙,但在此if (eligibleForBonus()){你只是調用此方法不帶任何參數,您需要在此傳遞一個參數一樣if (eligibleForBonus(1.2)){

您的方法eligibleForBonus需要一個參數(double salary) 在toString方法中,您在不傳遞任何參數的情況下調用該方法: if (eligibleForBonus()) 這就是為什么它草。 傳遞有效的參數,例如:

if (eligibleForBonus (1000.0))

如果是否根據薪水有資格獲得獎金,則qualifiedForBonus eligibleForBonus(double salary)進行檢查。 但是,當您調用此方法時,您不會“交出”薪水,因此會出現異常。 如果薪水是例如2000,請使用if(elibibleForBonus(2000))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM