简体   繁体   English

Eclipse上的Java编译错误

[英]Java compiling error on Eclipse

So I'm working on this program and I've created two classes, one class called CreditCard, the other called CreditCardTester.I'm using Eclipse IDE and I keep getting compiling errors such as "The method getBalance(double) in the type CreditCard is not applicable for the arguments ()". 因此,我正在开发该程序,并创建了两个类,一个类称为CreditCard,另一个类称为CreditCardTester。我正在使用Eclipse IDE,并且不断收到诸如“方法getBalance(double)类型信用卡不适用于参数()”。 I'm not really sure on what I have to fix. 我不确定要解决的问题。

This is the first class called CreditCard: 这是第一类,称为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;
}

This is the second class CreditCardTester: 这是第二类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());
}

This is not a constructor, because you added void , making it a normal method: 这不是构造函数,因为您添加了void ,使其成为常规方法:

public void CreditCard(String number, double limit)

Remove void : 去除void

public CreditCard(String number, double limit)

Also, one of the assignments in the method/constructor is backwards. 同样,方法/构造函数中的分配之一是向后的。 You assigned the instance variable to the parameter. 您已将实例变量分配给了参数。

limit = creditLimit;

Change it around: 改变它:

creditLimit = limit;

You're missing "new" when creating a CreditCard : 创建CreditCard时,您缺少“ new”:

CreditCard card = CreditCard("1234-5678-9012-3456", 1000.00);

Try 尝试

CreditCard card = new CreditCard("1234-5678-9012-3456", 1000.00);

You have an unused parameter on the getBalance method, and you call it without a parameter. 您在getBalance方法上有一个未使用的参数,并且在不带参数的情况下调用它。

public double getBalance(double theBalance) 

Remove it: 去掉它:

public double getBalance() 

I think getBalance should not accept an argument in your class definition. 我认为getBalance不应该在您的类定义中接受参数。

Use this in your CreditCard class: 在您的CreditCard类中使用此命令:

public double getBalance() 
{
    return balance;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM