Can';我不能让我的Java类工作
我应该创建一个类和一个tester类,允许客户输入他的姓名和当前金额,以及他想进行的任何存款或取款。可能有不正确的代码,但我想知道我在代码上做错了什么。问题之一是它说getBalance是一个无效的方法声明 这是包含构造函数的类Can';我不能让我的Java类工作,java,class,constructor,Java,Class,Constructor,我应该创建一个类和一个tester类,允许客户输入他的姓名和当前金额,以及他想进行的任何存款或取款。可能有不正确的代码,但我想知道我在代码上做错了什么。问题之一是它说getBalance是一个无效的方法声明 这是包含构造函数的类 public class BankAccount{ public String name; public double Balance, Withdrawal, Deposit; public BankAccount(double bal, S
public class BankAccount{
public String name;
public double Balance, Withdrawal, Deposit;
public BankAccount(double bal, String nm){
name = nm;
Balance = bal;
}
public void setName (String nm){
name = nm;
}
public String getName(){
return name;
}
public String toString(){
return "Name: " + name + "\n" +
"New Balance : " + getBalance;
}
public getBalance(){
return Balance;
}
public double Withdrawal(){
bal = Balance - Withdrawal;
}
public double Deposit(){
bal = Balance + Deposit;
}
}
这是tester类
import java.util.Scanner;
public class BankAccountTester{
public static void main(String [] args){
Scanner reader = new Scanner(System.in);
a1 = new BankAccount();
String name;
int Balance, Withdrawal, Deposit;
System.out.println("What is the name of the bank account holder?");
name = reader.nextLine();
System.out.println("What is your current balance?");
Balance = reader.nextInt();
System.out.println("How much do you wish to deposit?");
Deposit = reader.nextInt();
System.out.println("How much do you with to withdraw?");
Withdrawal = reader.nextInt();
System.out.println("\n" + a1.getName());
}
}
你介意告诉我我做错了什么并解释一下吗?你的
getBalance()
方法需要一个返回类型。将声明更改为public double getBalance()
。作为旁注,Java约定要求不要将变量名的第一个字母大写。以下约定使您的代码更容易被其他人阅读,这将导致更多更好的响应。缺少getBalance()
方法的返回类型,而您返回的变量类型为double。声明如下:-
public double getBalance(){ // add double as the return-type here
return Balance;
}
另外,正如Drew Kennedy所提到的---通过添加BankAccount类和a1来声明BankAccount类的对象。你哪里都没提过
BankAccount a1 = new BankAccount(); // you're missing class name BankAccount
getBalance()方法没有返回类型,但您要求它返回一个值。此外,还应遵循Java命名约定,变量名不应以大写字母开头。Java的标准做法是,类使用大写字母,变量使用小写字母。这将使您的代码更易于其他Java开发人员阅读代码>这不应该写为:
银行账户a1=新银行账户()代码>?在你的BankAccountTester
类中,我没有看到a1
被声明。我认为这个问题不值得负面评价。是的,解决方案可能很简单,但问题经过深思熟虑,代码简洁易读。与95%的问题相比,这个问题值得热烈的掌声。@DrewKennedy即使是我也对这个问题投了更高的票,因为它非常清晰,并且对代码有着适当的投入。真值得鼓掌!