/****************************************************************** * Program Insert assignment number: Insert assignment name * * Programmer: Insert your name * * Due Date: Insert due date * * COMP 110-001 Instructor: Tabitha Peck * * Description: Bank account class for witches and wizards * * ******************************************************************/ import java.util.*; public class Account { private int galleons = 0; private int sickles = 0; private int knuts = 0; /* Precondition: None Postcondition: If input is positive, add g, s, and k to galleons sickles and knuts. */ public void deposit(int g, int s, int k) { if(checkInput(g,s,k)) { galleons+=g; sickles+=s; knuts+=k; updateAccount(); } else System.out.println("incorrect deposit amount"); } /* Precondition: none Postcondition: returns true if all inputs are positive returns false if any inputs are negative */ private boolean checkInput(int g, int s, int k) { if((g >= 0) && (s >= 0) && (k >= 0)) return true; else return false; } /* Precondition: None Postcondition: Resets Galleons, sickles and knuts to the simpelest form */ private void updateAccount() { sickles = calculateTotal(sickles, knuts, 29); galleons = calculateTotal(galleons, sickles, 17); sickles = calculateRemainder(sickles, 17); knuts = calculateRemainder(knuts, 29); } private int calculateRemainder(int num, int div) { return(num % div); } private int calculateTotal(int num1, int num2, int div) { return (num1 + (num2 / div)); } /* Precondition: None Postcondition: reduces the account by the set number of galleons, sickles, and knuts it the account holds at least the input amount */ public void withdrawal(int g, int s, int k) { s = calculateTotal(s, k, 29); g = calculateTotal(g, s, 17); s = calculateRemainder(s, 17); k = calculateRemainder(k, 29); if(checkInput(g,s,k)) { if((g > galleons) || (s > sickles) || (k > knuts)) { System.out.println("You do not have enough money"); } else { galleons -= g; sickles -= s; knuts -= k; } } } /* Precondition: None Postcondition: Prints the value of galleons, sickles and knuts to the screen */ public void inquire() { System.out.println("You now have: \n" + galleons + " galleons\n" + sickles + " sickles\n" + knuts + " knuts"); } public void setGalleons(int g) { galleons = g; updateAccount(); } public void setSickles(int s) { sickles = s; updateAccount(); } public void setKnuts(int k) { knuts = k; updateAccount(); } public int getQalleons() { return galleons; } public int getSickles() { return sickles; } public int getKnuts() { return knuts; } }