A bit confused here. The way I have it set, when called, it should cycle through each element of the array that's populated and check to see if that element's int accNum is equal to the passed int accNum and if so output a summary of the account.
Maybe my logic is wrong but in my mind it should work:
public void accountInfo(int accNum)
{
for (int i = 0; i < numAccounts; i++)
{
if (accNum == accounts[i].getAccNum())
{
accounts[i].summary();
}
else
{
System.out.println("No such account on record.");
}
}
}
Account class:
public class Account
{
private String ssn;
private int accNum, accType;
private double balance;
private Customer accountHolder;
public Account(Customer accountHolder, String ssn, int accNum, int accType, double balance)
{
this.accountHolder = accountHolder;
this.ssn = ssn;
this.accNum = accNum;
this.accType = accType;
this.balance = balance;
}
public String summary()
{
String fullType;
switch (accType)
{
case 1:
fullType = "Checking";
break;
case 2:
fullType = "Savings";
break;
default:
fullType = "Other";
}
return String.format(("\t- Number: %d\n\t- %s\n\t- Balance: $%.2f\n\t- Customer: %s"),
accNum, fullType, balance, accountHolder.getName());
}
public double getBalance()
{
return balance;
}
public int getAccNum()
{
return accNum;
}
public void deposit(double balance)
{
this.balance += balance;
}
public void withdraw(double balance)
{
this.balance -= balance;
}
}
/*Note that an Account object can have only one Customer.
*/
And my output:
========== READ DATA ==========
========== DONE ==========
========== BANK INFORMATION ==========
Bank Name: CSUMB
Number of Customers: 4
Tom Smith: 777-77-7777
Alice Smith: 888-88-8888
Joe Otter: 999-99-9999
Monica Smith: 123-45-7777
Number of Accounts: 5
1000: $10.00
2000: $50.25
3000: $100.00
5000: $100.25
6000: $500.25
Bank Total Balance: $760.75
========== ACCOUNT INFORMATION ==========
No such account on record.
No such account on record.
No such account on record.
No such account on record.
when it should be
========== ACCOUNT INFORMATION ==========
- Number: 1000
- Checking
- Balance: $10.00
- Customer: Tom Smith
========== ACCOUNT INFORMATION ==========
- Number: 1000
- Checking
- Balance: $160.25
- Customer: Tom Smith
========== ACCOUNT INFORMATION ==========
- Number: 1000
- Checking
- Balance: $60.25
- Customer: Tom Smith
========== ACCOUNT CLOSE ==========
Account closed.