2013-04-07 134 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