我應該用抽象方法computeIntt()
設計一個BankAcct
類。保存和時間是BankAcct的種類。問題是我無法實現的利益和新的平衡的顯示抽象類/方法實現
這裏是我當前的代碼:
public abstract class BankAcct
{
private int accountNumber;
private String accountName;
private double bal;
public BankAcct(int act, String name, double m)
{
accountNumber = act;
accountName = name;
bal = m;
}
public double getBalance()
{
return bal;
}
public String getAccountName()
{
return accountName;
}
public int getAccountNumber()
{
return accountNumber;
}
public void deposit(double m)
{
bal+=m;
}
public void withdraw(double m)
{
bal-=m;
}
public abstract double computeInt();
}
public class Save extends BankAcct
{
public Save(int act, String name, double m)
{
super(act, name, m);
}
int act;
String name="";
double m;
public double computeInt()
{
return m * 0.0025;
}
}
public class Time extends BankAcct
{
public Time(int act, String name, double m)
{
super(act, name, m);
}
int act;
String name="";
double m;
public double computeInt()
{
return m * 0.033;
}
}
public class MainPr
{
public static void main(String[] args)
{
BankAcct sav = new Savings(1234, "ABC", 10000);
BankAcct td = new TimeDeposit(9876, "DEF", 20000);
// display the current balance
System.out.println(sav.getAccountName() + " with account number " +
sav.getAccountNumber() + " has a balance of " +
sav.getBalance());
System.out.println(td.getAccountName() + " with account number " +
td.getAccountNumber() + " has a balance of " +
td.getBalance());
// deposit money
sav.withdraw(5000.0);
// display current value with its interest
System.out.println("\n" + sav.getAccountName() + " with account number " +
sav.getAccountNumber() + " earned an interest of " +
sav.computeInt());
System.out.println(sav.getAccountName() + " with account number " +
sav.getAccountNumber() + " has a NEW BALANCE of " +
sav.getBalance());
td.deposit(2000.0);
System.out.println("\n" + td.getAccountName() + " with account number " +
td.getAccountNumber() + " earned an interest of " +
td.computeInt());
System.out.println(td.getAccountName() + " with account number " +
td.getAccountNumber() + " has a NEW BALANCE of " +
td.getBalance());
}
}
MainPr將爲以下數據實例化兩個對象: 保存的賬號爲1234; ABC的賬戶名稱; 10,000的餘額。 已有賬號9876;帳戶名稱DEF; 2萬的餘額。
這應該是輸出:正確
ABC與帳號1234具有10000.0
DEF與帳號9876的天平具有20000.0
ABC與帳號餘額1234賺得利息25.0
帳號1234的ABC有新餘額5025.0
DEF與帳號9876賺取利息660.0
DEF與賬戶號碼9876擁有22660.0
一個新的平衡,但我的程序產生不正確的輸出:
ABC與賬戶號碼1234餘額爲10000.0
賬號9876的DEF有餘額20000.0
ABC與帳號1234賺取利息0.0
ABC與帳號1234已經5000.0
DEF與賬戶號碼9876的新平衡賺取利息0.0
DEF與賬戶號碼9876有一個新的平衡的22000.0
在這種情況下,在保存利率爲0.25%,而時間利息爲3.3%餘額取決於它是存款還是取款。
請幫助我。感謝
因此,我將刪除「公共TimeDeposit(int act,String name,double m)」和聲明部分? –
不,這是構造函數,仍然需要。這就是將變量傳遞給超類的原因。這三行是不必要的:'int act; String name =「」;雙米;' –
請幫我用我的公式。它有什麼問題,它仍然不會產生良好的輸出 –