Eclipse上的Java编译错误

时间:2014-01-15 19:42:59

标签: java eclipse compiler-errors

所以我正在研究这个程序,我创建了两个类,一个名为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());
}

2 个答案:

答案 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;
}