所以我正在研究这个程序,我创建了两个类,一个名为CreditCard,另一个名为CreditCardTester。我正在使用Eclipse IDE,我不断编译错误,例如“方法getBalance(double)在CreditCard类型中不适用于arguments()“。我不确定我要解决的问题。
这是名为CreditCard的第一个类:
public class CreditCard
{
private String accountNumber;
private double creditLimit;
private double balance;
public void CreditCard(String number, double limit)
{
accountNumber = number;
limit = creditLimit;
balance = 0;
}
public String getAccountNumber()
{
return accountNumber;
}
public double getCreditLimit()
{
return creditLimit;
}
public double getBalance(double theBalance)
{
return balance;
}
public double charge(double amount)
{
balance = balance + amount;
return balance;
}
这是第二类CreditCardTester:
public class CreditCardTester
{
public static void main(String[] args)
{
CreditCard card = CreditCard("1234-5678-9012-3456", 1000.00);
String formatString = "Credit Card [number = %s, bal = %.2f, limit = %.2f]\n";
System.out.printf(formatString, card.getAccountNumber(), card.getBalance(), card.getCreditLimit());
System.out.println("\nCharging $50.00 to credit card...\n");
card.charge(50.00);
System.out.printf(formatString, card.getAccountNumber(), card.getBalance(), card.getCreditLimit());
}
答案 0 :(得分:1)
这不是构造函数,因为您添加了void
,使其成为常规方法:
public void CreditCard(String number, double limit)
删除void
:
public CreditCard(String number, double limit)
此外,方法/构造函数中的一个赋值是向后的。您已将实例变量分配给参数。
limit = creditLimit;
改变它:
creditLimit = limit;
创建CreditCard
时,您错过了“新”:
CreditCard card = CreditCard("1234-5678-9012-3456", 1000.00);
尝试
CreditCard card = new CreditCard("1234-5678-9012-3456", 1000.00);
getBalance
方法中有一个未使用的参数,您可以在没有参数的情况下调用它。
public double getBalance(double theBalance)
删除它:
public double getBalance()
答案 1 :(得分:0)
我认为getBalance
不应接受类定义中的参数。
在CreditCard
课程中使用此功能:
public double getBalance()
{
return balance;
}