2015-04-08 41 views
-4
public double transferSavingToChecking(double Tamount2) 
{ 
    //check if enough to transfer 
    if(Tamount2 > Saving_Balance) 
     System.out.println("Transfer failed. You don't have enough  balance in the saving account!"); 
    else 
     System.out.println("You have successfully transferred $" + Tamount2 + " from the saving account to the checking account"); 
     Saving_Balance = Saving_Balance - Tamount2; 
     Checking_Balance = Checking_Balance + Tamount2; 

    return Checking_Balance; 
} 

當貨幣轉移時,if...else聲明每次都會運行。例如,即使當transfer > balance時,輸出反映出即使它說它失敗也發生了轉移。Java if ... else聲明不能正常工作

+2

...如果你有if語句,那麼你要使用大括號或像這樣的事情可能會導致在那些屬於條件的行爲:

你的代碼更改爲以下。 – Makoto

+1

這就是你編程的方式。 –

+0

你有問題嗎? – Chan

回答

4

您需要在if/else塊的內容周圍放置花括號。 if/else語句寫在下面的方法:

if (condition) { 
    // do something 
} else { 
    // do something else 
} 

如果你錯過了大括號,只有第一個語句的if/else塊的if/else被認爲是部分之後。那麼

public double transferSavingToChecking(double Tamount2) { 
    //check if enough to transfer 
    if(Tamount2 > Saving_Balance) { 
     System.out.println("Transfer failed. You don't have enough  balance in the saving account!"); 
    } else { 
     System.out.println("You have successfully transferred $" +  Tamount2 + " from the saving account to the checking account"); 
     Saving_Balance=Saving_Balance - Tamount2; 
     Checking_Balance=Checking_Balance + Tamount2; 
    } 
    return Checking_Balance; 
} 
+0

這樣一個愚蠢的錯誤,感謝您的幫助:) – SQhelL