2013-04-07 152 views
0

所以我有高級繼承Java中的任務,並有代碼幾乎敲定出來,但有問題完成它,並使其實際顯示輸出。該方案分爲4個不同的部分,我列在下面。輸出不顯示任何東西

Account.java

public abstract class Account 
{ 
protected long accountNumber; 
protected double accountBalance; 
public long getAccountNumber() 
{ 
    return accountNumber; 
} 
public double getAccountBalance() 
{ 
    return accountBalance; 
} 
public void setAccountNumber(long number) 
{ 
    number = accountNumber; 
} 
public void setAccountBalance(double balance) 
{ 
    balance = accountBalance; 
} 
public void setUpAccount(long number, double balance) //look up constructors 
{ 
    number = accountNumber; 
    balance = accountBalance; 
} 
public String toString() 
{ 
    return "Account Number: " + accountNumber + " Account Balance: " + accountBalance; 
} 
public abstract double computeInterest(int intPeriod); 
} 

Checkings.java

public class Checking extends Account 
{ 
public String toString() 
{ 
    String info = "Checking\nAccount Number: " + accountNumber + 
                "\nAccount Balance: " + accountBalance ; 
    return info; 
} 
public Checking(long number) 
{ 
    number = accountNumber; 
} 
public double computeInterest(int intPeriod) 
{ 
    double total = ((accountBalance - 700) * .02) * 3; 
    return total; 
} 
} 

Savings.java

public class Savings extends Account 
{ 
private double interestRate; 
public double getInterest() 
{ 
    return interestRate; 
} 
public void setInterest(double inter) 
{ 
    inter = interestRate; 
} 
public String toString() 
{ 
    String info = "Savings\nAccount Number: " + accountNumber + " \nAccount Balance: " 
                  + accountBalance + " \nInterest Rate: " + interestRate; 
    return info; 
} 
public Savings(long number, double interest) 
{ 
    number = accountNumber; 
    interest = interestRate; 
} 
public double computeInterest(int intPeriod) 
{ 
    double total = Math.pow((1 + interestRate), intPeriod) * accountBalance - accountBalance; 
    return total; 
} 
} 

AccountArray.java

public class AccountArray 
{ 
    public static void main(String[] args) 
    { 
     Account[] refAccount = new Account[10]; 
     /*refAccount[0] = new Checking(100); 
     refAccount[1] = new Checking(101); 
     refAccount[2] = new Checking(102); 
     refAccount[3] = new Checking(103); 
     refAccount[4] = new Checking(104); 
     refAccount[5] = new Savings(105, .02); 
     refAccount[6] = new Savings(106, .02); 
     refAccount[7] = new Savings(107, .02); 
     refAccount[8] = new Savings(108, .02); 
     refAccount[9] = new Savings(109, .02); 

     refAccount[0].setAccountBalance(1000.0); 
    refAccount[1].setAccountBalance(2000.0); 
    refAccount[2].setAccountBalance(3000.0); 
    refAccount[3].setAccountBalance(4000.0); 
    refAccount[4].setAccountBalance(5000.0); 
    refAccount[5].setAccountBalance(6000.0); 
    refAccount[6].setAccountBalance(7000.0); 
    refAccount[7].setAccountBalance(8000.0); 
    refAccount[8].setAccountBalance(9000.0); 
    refAccount[9].setAccountBalance(10000.0);*/ 
    for(int inc = 0; inc < 10; inc++) 
    { 
     refAccount[0] = new Checking(100); 
     refAccount[1] = new Checking(101); 
     refAccount[2] = new Checking(102); 
     refAccount[3] = new Checking(103); 
     refAccount[4] = new Checking(104); 
     refAccount[5] = new Savings(105, .02); 
     refAccount[6] = new Savings(106, .02); 
     refAccount[7] = new Savings(107, .02); 
     refAccount[8] = new Savings(108, .02); 
     refAccount[9] = new Savings(109, .02); 

     refAccount[0].setAccountBalance(1000.0); 
     refAccount[1].setAccountBalance(2000.0); 
     refAccount[2].setAccountBalance(3000.0); 
     refAccount[3].setAccountBalance(4000.0); 
     refAccount[4].setAccountBalance(5000.0); 
     refAccount[5].setAccountBalance(6000.0); 
     refAccount[6].setAccountBalance(7000.0); 
     refAccount[7].setAccountBalance(8000.0); 
     refAccount[8].setAccountBalance(9000.0); 
     refAccount[9].setAccountBalance(10000.0); 
    } 
    for(int ctr = 0; ctr < 10; ctr++) 
    { 
     System.out.println(refAccount[ctr].toString()); 
    } 
} 

} 

有什麼我真的很明顯失蹤?它都編譯得很好,但輸出只顯示0而不是帳號,餘額或興趣。

任何幫助將非常感激,因爲我沒有時間。

+0

歡迎的StackOverflow!如果你能縮小代碼給你帶來麻煩,你很可能會很快得到答案。如果你能分辨問題,人們就可以更容易地解決它。 – ASGM 2013-04-07 13:24:11

回答

3

您所有的setter方法看起來南轅北轍,你已經得到了他們的...

public void setAccountNumber(long number) 
{ 
    number = accountNumber; 
} 
public void setAccountBalance(double balance) 
{ 
    balance = accountBalance; 
} 

所有你正在做的有設置的參數值,它們應該是...

public void setAccountNumber(long number) 
{ 
    accountNumber= number; 
} 
public void setAccountBalance(double balance) 
{ 
    accountBalance= balance; 
} 

您可以確保不會發生這種情況我做你的參數最終

1

有一個在你的構造函數和setter你反你的變量歸屬

防爆

public void setAccountNumber(long number) 
{ 
    number = accountNumber; 
} 

應該

public void setAccountNumber(long number) 
{ 
    accountNumber = number; 
} 

同樣爲所有的setter和構造

+0

哇,我怎麼管理它!這得到了很多固定的謝謝! – Nexaz 2013-04-07 13:32:44

+0

很高興能幫到;) – TheEwook 2013-04-07 13:33:16

+0

當使用'public void setAccountNumber(final long number)'時,你的編譯器會提醒你,@Nexaz。 – Arjan 2013-04-07 13:59:19