需要使用java编码的指导

时间:2016-12-04 20:52:25

标签: java

嗨,这是第一次来这里。

我有一项任务,我需要为支付卡编写代码,而且我完全迷失了。该卡应该执行以下操作:

  • 检查激活
  • 有最小的余额(5)
  • 有最大余额(125)
  • 加钱
  • 提款(支付)

当您添加的金额不会达到最小或最大余额时,它应该打印出一行文字,说"值应该至少为5"或"最高余额为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!");
    }
}

}

欢迎任何帮助。

1 个答案:

答案 0 :(得分: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;
    }
}