Тип учетной записи был определен для моделирования банковского счета. У учетной записи есть номер счета свойств, баланс, годовая процентная ставка и дата создания, а также способы внесения и вывода средств.Создайте два подкласса для проверки и сохранения учетных записей. Контрольный счет имеет лимит овердрафта, но сберегательный счет нельзя переоценить.
Теперь создайте два подкласса для проверки и сохранения учетных записей. Контрольный счет имеет лимит овердрафта (скажем, 1000 долларов США с платой за 25 долларов США), но сберегательный счет нельзя переубедить.
Напишите тестовую программу, которая создает объекты Account, SavingsAccount и CheckingAccount и вызывает их метод toString().
Выше приведены инструкции, и ниже приведен мой код. Я не могу понять, как вызвать подклассы в основной класс учетной записи. Я также хотел бы знать, как применить метод toString(), потому что я тоже не могу это получить. Я также сохранил большинство своих комментариев в своем коде, где я пробовал разные идеи.
/*
//Calls both subclasses to the main. As well as a few other variables.
SavingsAccount savings = new SavingsAccount();
CheckingAccount checking = new CheckingAccount();
Account account;
double balance = 0.0;
double withdrawal = 0.0;
double deposit = 0.0;
System.out.println(checking);
CheckingAccount.getwithdrawal(10.50);
System.out.println(savings);
SavingsAccount.deposit(5.0);
System.out.println(account);
}
}
*/
package account;
public class Assignment5 {
SavingsAccount savings = new SavingsAccount();
CheckingAccount checking = new CheckingAccount();
Account account;
public static void main (String[] args) {
Account account = new Account(1122, 20000);
/* System.out.print("After Creation, ");
Print (account.getBalance());
Account.setAnnualInterestRate(4.5);
System.out.print("After Withdrawal of $2,500, ");
account.withdraw(2500);
Print (account.getBalance());
System.out.print("After Deposit of $3,000, ");
account.deposit(3000);
Print (account.getBalance());
System.out.println("Balance is " + account.getBalance());
System.out.println("Monthly interest is " +
account.getMonthlyInterest());
System.out.println("This account was created at " +
account.getDateCreated()); */
}
// Extra Print Method
public static void Print (double x){
System.out.printf("The current balance is "+" $ "+"%4.2f"+"%n",x);
}
}
class Account {
private int id;
double balance;
private static double annualInterestRate;
private java.util.Date dateCreated;
public Account() {
dateCreated = new java.util.Date();
}
public Account(int newId, double newBalance) {
id = newId;
balance = newBalance;
dateCreated = new java.util.Date();
}
public int getId() {
return this.id;
}
public double getBalance() {
return balance;
}
public static double getAnnualInterestRate() {
return annualInterestRate;
}
public void setId(int newId) {
id = newId;
}
public void setBalance(double newBalance) {
balance = newBalance;
}
public static void setAnnualInterestRate(double newAnnualInterestRate) {
annualInterestRate = newAnnualInterestRate;
}
public double getMonthlyInterest() {
return balance * (annualInterestRate/1200);
}
public java.util.Date getDateCreated() {
return dateCreated;
}
public void withdraw(double amount) {
balance -= amount;
}
public void deposit(double amount) {
balance += amount;
}
}
package account;
public class CheckingAccount extends Account {
double overDraft = -1000;
public void checking(double i) {
//initializes double variable balance as 0.0
double balance = 0.0;
if (balance - i < overDraft){
System.out.println("Failure: Can't overdraft more than $1,000. A $25 +"
+ "overdraft fee will be issued to your account. ");
balance = balance - 25; }
else
balance = balance - i;
}
}
package account;
public class SavingsAccount extends Account{
double overdraftLimit = 0;
public void withdraw (double w) {
if (balance - w < overdraftLimit)
System.out.println("Insufficient Funds");
else
balance = balance - w;
}
}
Функция void toString по умолчанию не называется, маловероятно, что это намерение. – Untitled123
вы, скорее всего, захотите вернуть его, а не распечатать его :) – Untitled123
вам может потребоваться добавить '@ Override' над' public String toString() 'в зависимости от используемой вами IDE – tmaxxcar