2016-12-04 106 views
-1

你好eveyone這是第一次來這裏。需要java編碼指導

我有一個任務,我需要爲支付卡編寫代碼,而且我完全丟了。該卡應做到以下幾點:

  • 檢查激活
  • 具有最小的平衡(5)
  • 具有極大的平衡(125)
  • 添加錢
  • 提款(收費)

當您添加一個不符合最小或最大餘額的金額時,它應該打印出一行文字,說「值應該至少爲5」或「最大餘額ce是125「。它適用於最小線條,但是當您嘗試添加超過125條線時,它會打印出線條並仍然添加數量。

這裏是我的所有代碼:

public class protonkaart 

{

private double balans; 
private boolean activate; 
private int min; 
private int max; 

public protonkaart() 
{ 

    balans = 0; 
    activate = false; 
    min = 5; 
    max = 125; 
} 

public double getBalans() 

{ 
    return balans; 

} 
/** 
* balansOpladen = Add money to balance 
*/ 
public void balansOpladen (double bedrag) 
{ 
    if ((bedrag >= 5) && (balans <= 125)) 
    { 
     balans += bedrag; 
    } 
    if ((bedrag <= 5)) 
    { 
     System.out.println("U moet minstens 5 euro opladen."); 
    } 
    if ((bedrag >=125)) 
    { 
     balans += 0; 
     System.out.println("U mag maximaal 125 euro opladen!"); 
    } 
} 

}

任何幫助是值得歡迎的。

+2

這不是一門功課寫作服務。您需要具體說明您的代碼的實際問題 - 包括您收到的錯誤消息。如果你的代碼沒有問題,並且你根本不知道從哪裏開始,那麼你最好問問你的老師。 –

+2

您的第一張支票不完整。想想看,如果您嘗試添加一百萬,但餘額低於125,會發生什麼情況。您的代碼無法防止這種情況發生。 – pvg

+0

歡迎來到Stack Overflow!看起來你正在尋求作業幫助。雖然我們本身沒有任何問題,但請觀察這些[應做和不應該](http://meta.stackoverflow.com/questions/334822/how-do-i-ask-and-answer-homework-questions/338845#338845),並相應地編輯您的問題。 –

回答

1

問題是,您必須檢查總和是否小於125而不是當前值。

public void balansOpladen (double bedrag) { 
    if ((bedrag + balans >= 5) && (balans + balans <= 125)) { 
     balans += bedrag; 
    } 
    if ((bedrag + balans <= 5)) { 
     System.out.println("U moet minstens 5 euro opladen."); 
    } 
    if ((bedrag + balans >=125)) { 
     System.out.println("U mag maximaal 125 euro opladen!"); 
    } 
} 

此外,我會作出一些改變這種方法是如何構成如下:

public void balansOpladen (double bedrag) { 
    if (bedrag + balans <= 5) { 
     System.out.println("U moet minstens 5 euro opladen."); 
    } else if (bedrag + balans >=125) { 
     System.out.println("U mag maximaal 125 euro opladen!"); 
    } else { 
     balans += bedrag; 
    } 
} 
+0

謝謝你的幫助,Aleb! – user255736