Я должен сделать класс и класс тестера, который позволяет клиенту вводить его имя и текущую сумму денег, а также любые вклады или изъятия, которые он хотел бы сделать. Возможно, неправильный код, но мне интересно, что я делаю неправильно с кодом. Одна из проблем заключается в том, что он говорит, что getBalance является недопустимым объявлением метода.
Это класс с конструкторами
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;
}
}
Это класс тестера
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()
отсутствует, тогда как вы возвращаете переменную типа double. Объявите это как: -
public double getBalance(){ // add double as the return-type here
return Balance;
}
Также, как упоминал Дрю Кеннеди, объявить объект класса BankAccount, добавив класс BankAccount вместе с a1. Вы нигде не упомянули об этом...
BankAccount a1 = new BankAccount(); // you're missing class name BankAccount
Метод getBalance() не имеет типа возврата, и все же вы попросили его вернуть значение. Также попробуйте следовать соглашениям об именах Java, имя переменной не должно начинаться с заглавной буквы.
getBalance()
метода getBalance()
нужен тип возврата. Измените декларацию на public double getBalance()
. В качестве стороннего примечания Java-соглашение говорит, что нельзя использовать первую букву имени переменной. Следующее соглашение упрощает чтение кода другим, что приведет к более качественным ответам.
a1 = new BankAccount();
BankAccount a1 = new BankAccount();
это не должно быть записано как:BankAccount a1 = new BankAccount();
? Я не вижу, чтобыa1
был объявлен где-либо еще в вашем классеBankAccountTester
.