2016-01-20 63 views
-2

通过解答下面的答案我目前正在接受AP计算机科学,并且我正试图用他们给我的所有东西来构建一个程序,但我认为我可能会完全放置一些东西错误的地方。 BankAccount方法创建一个新的银行帐户。主要方法是为KevinC创建一个银行账户。 GetBalance方法应返回KevinC银行账户的余额。我得到这个作为一个错误:Java方法问题

BankAccount.java:11: error: cannot find symbol 
     System.out.println(c.GetBalance); 
          ^
    symbol: variable GetBalance 
    location: variable c of type BankAccount 
BankAccount.java:15: error: cannot find symbol 
     return balance(); 
      ^
    symbol: method balance() 
    location: class BankAccount 

而这里的代码:

public class BankAccount { 
    public BankAccount(String acctPassword, double acctBalance) { 

     String password = acctPassword; 
     double balance = acctBalance; 
    } 
    public static void main(String[] args) { 

     BankAccount c = new BankAccount("KevinC", 800.00); 
     System.out.println(c.GetBalance); 

    } 
    public double GetBalance() { 
     return balance(); 
    } 


} 
+3

你忘记了方法调用的括号'()'。它应该是:'System.out.println(c.GetBalance());'。注意'()'接近尾声。投票结束为一个微不足道的错误。 –

+2

方法invokations需要事后''c.GetBalance()''。编译器认为你正试图访问一个类成员变量。作为一个旁注我试图坚持java惯例,这意味着方法以小写开头。这会增加您和他人的代码的可读性。 – SomeJavaGuy

+1

我认为您的问题的关键在于认真对待编译器标记为的任何和所有代码行,并尝试查看它是否与您在任何Java教科书或教程中找到的正确行不同。快速回顾一下如何调用方法将为您解决第一个错误。 –

回答

2

这些都是语法错误,你混合方法调用和字段的访问,检查:

public class BankAccount { 

double balance ; 

    public BankAccount(String acctPassword, double acctBalance) { 

     String password = acctPassword; 
     balance = acctBalance; 
    } 

    public static void main(String[] args) { 

      BankAccount c = new BankAccount("KevinC", 800.00); 
      System.out.println(c.GetBalance()); 

     } 

    public double GetBalance() { 
      return balance; 
     } 

} 

此外,您的balance字段是构造函数的本地,我将它移出以便您的方法可以访问它。

1

你想添加()System.out.println(c.getBalance())像这样。

此外,在您的getBalance()方法中,您试图返回一个不存在的方法。您想要返回变量balance

您还应该将passwordbalance变量移出构造函数,以便其他方法可以访问它们。