2016-02-13 223 views
-4

我想要做的是將提款額限制在20美元以內,最高爲500美元。我知道我在這裏錯過了一些簡單的元素來做到這一點。我的代碼工作,直到我試圖做的20簡單For循環和if語句

double AccountBalance = 1500; 
double WithdrawalAmount; 
WithdrawalAmount = double.Parse(textInput.Text); 
Double MaxWithdrawalAmount = 0; 
for (MaxWithdrawalAmount = 0; MaxWithdrawalAmount <= 500; MaxWithdrawalAmount += 20) 
{ 
    if (WithdrawalAmount == MaxWithdrawalAmount) 
    { 
     double Total = (AccountBalance - WithdrawalAmount); 
     textTotal.Text = ("Total amount" + Convert.ToString(Total)); 
    } 
    else 
    { 
     textError.Text = ("Only Increments of $20 allowed for withdraw up to $100"); 
     textTotal.Text = ("" + AccountBalance); 
    } 
} 
+4

究竟是什麼「不工作」?你可以提供一些示例輸出嗎? –

+1

現在沒有工作? –

+1

您似乎在for語句後缺少範圍括號。 –

回答

2

增量你應該處理您的循環中我已經搬到外循環的錯誤信息以不同的方式

bool ok = false; 
for (MaxWithdrawalAmount = 0; MaxWithdrawalAmount <= 500; MaxWithdrawalAmount += 20) 
{ 
    if (WithdrawalAmount == MaxWithdrawalAmount) 
    { 
     double Total = (AccountBalance - WithdrawalAmount); 
     textTotal.Text = "Total amount" + Convert.ToString(Total); 
     ok = true; 
     break; 
    } 
} 
if (!ok) 
{ 
    textError.Text = ("Only Increments of $20 allowed for withdraw up to $100"); 
    textTotal.Text = ("" + AccountBalance); 
} 

。如果在循環內部找到正確的撤銷值,那麼我會停止循環並設置一個標誌以避免最終的錯誤消息

備註:如果不需要雙值,則整個代碼可以縮減爲幾行使用remainder operator。例如

int WithdrawalAmount = 120; 
if ((WithdrawalAmount % 20) == 0) 
    ... good ... 
else 
    ... bad ... 
+0

嗯,我想知道什麼是錯誤,謝謝。 – Steve