【发布时间】:2014-12-12 20:14:45
【问题描述】:
我正在努力使我的方法 payGourmet 和 payEconomical 余额在没有足够的钱时不会改变并且不会低于零。也使我的 loadMoney 方法不超过 150,但仍从 main 添加指定的数字。我究竟做错了什么?
Import java.util.Scanner;
public class LyyraCard {
private double balance;
public LyyraCard(double balanceAtStart) {
this.balance = balanceAtStart;
}
public String toString() {
return "The card has " + this.balance + " euros";
}
public void payEconomical() {
if (this.balance > 0) {
this.balance -= 2.5;
}
}
public void payGourmet() {
if (this.balance > 0) {
this.balance -= 4.0;
}
}
public void loadMoney(double amount) {
if (this.balance < 150) {
this.balance += amount;
}
}
}
public class Main {
public static void main(String[] args) {
// add here code that tests LyraCard. However before doing 77.6 remove the
// other code
LyyraCard card = new LyyraCard(10);
System.out.println(card);
card.payEconomical();
System.out.println(card);
card.payGourmet();
System.out.println(card);
card.payGourmet();
System.out.println(card);
card.loadMoney(10);
System.out.println(card);
card.loadMoney(200);
System.out.println(card);
}
}
【问题讨论】:
-
您检查余额是否优于 0,然后减去 4(或 2.5)。例如,如果余额为 2 怎么办? loadMoney 也是如此。