Hi Folks,
I'm a Java newbie so please forgive me if you've heard this one before...
Got a question for ya about an small app I am working on.
I have a banking app that creates accounts, then makes deposits and withdrawls to/from these accounts. Its very simple. I have a BankAccount class and in that class I have the following deposit method...
//Deposit method.
public void deposit(double dAmount) {
if(dAmount > 0) { // Check that deposit amount is more than zero dollars..
balance = balance + dAmount;} // Update balance with new balance.
else {JOptionPane.showMessageDialog( null, "Error: You must deposit more than 0 dollars.");}
The problem I am having is getting (retrieving) the new balance value in my tester class (with main()). I created the accounts using an ArrayList named 'accounts'. So to get the new balance I do...
//Deposits
for(int j = 0; j < totalAccounts; j++) {
String dep = JOptionPane.showInputDialog("How much would you like to deposit in this account?: ");
double deposit = Double.parseDouble(dep); //Convert string to double
double newBalance = accounts.get(j).deposit(deposit); //Call deposit method
The problem I am seeing is in the last line above. The line says go to index 'j' in the array and get the value after the deposit is made. In Eclipse the error I get is
"Type mismatch: Cannot convert from void to double."
Can anyone offer any suggestions? Should I return the balance in the deposit method instead of merely updating the balance?
I am having the same issue with the withdraw method but I suspect the solution will be the same for each. Any suggestions are greatly appreciated.
Many Thanks!
Tyster