All pastes #486219 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-05-13 20:16 UTC
rendered paste body
 import java.util.Scanner;
 
 public class ExceptionTester  {
 	
 	public static void main(String[] args){
 		
 		int initialBalance, deposit, withdraw;
 		Scanner input = new Scanner(System.in);//init. scanner input
 		BankAccount bank = null;
 		
 		System.out.println("Welcome to BankAccount Exception Tester by: Leo Gorokhovsky");
 		System.out.println("Please enter your Initial Balance");
 			try
 			{
 				initialBalance= input.nextInt();
 				bank = new BankAccount(initialBalance);
 			}
 			catch (IllegalArgumentException exception)
 			{
 				System.out.println("Sorry, you cannot have a negitive balance");
 			}
 			
 		System.out.println("How much money would you like to deposit?");
 			try
 			{
 				deposit = input.nextInt();
 				bank.deposit(deposit);
 				System.out.println("Your current balance is: "+bank.getBalance());
 			}
 			catch (IllegalArgumentException exception2)
 			{
 				System.out.println("Sorry, you cannot deposit a negitive balance");
 			}
 		System.out.println("How much money would you like to withdraw?");
 			try
 			{
 				withdraw = input.nextInt();
 				bank.withdraw(withdraw);
 				System.out.println("Your current balance is: "+bank.getBalance());
 			}
 			catch (IllegalArgumentException exception3)
 			{
 				System.out.println("Sorry, you cannot withdraw a negitive value");
 			}
 			catch (IllegalArgumentException exception4)
 			{
 				System.out.println("Sorry, you cannot withdraw more than you have in your account");
 			}
 		
 	}
 	
 	
 }

/**
   A bank account has a balance that can be changed by 
   deposits and withdrawals.
*/
public class BankAccount implements Measurable
{  
   /**
      Constructs a bank account with a zero balance.
   */
   public BankAccount()
   {   
      balance = 0;
   }

   /**
      Constructs a bank account with a given balance.
      Editted for IllegalArgumentException Error Handling
   */
   public BankAccount(double initialBalance)
   {   
      if (initialBalance < 0){
      	IllegalArgumentException exception = new IllegalArgumentException("You must enter a positive ammount");
      	throw exception;
      }
      balance = initialBalance;
   }

   /**
      Deposits money into the bank account.
      @param amount the amount to deposit
   */
   public void deposit(double amount)
   {  
 	  if (amount < 0){
 	  	IllegalArgumentException exception2 = new IllegalArgumentException("You must enter a positive ammount");
      	throw exception2;
 	  }
 	  double newBalance = balance + amount;
      balance = newBalance;
   }

   /**
      Withdraws money from the bank account.
      @param amount the amount to withdraw
   */
   public void withdraw(double amount)
   {   
   	  if (amount < 0){
 	  	IllegalArgumentException exception3 = new IllegalArgumentException("You must enter a positive ammount");
      	throw exception3;
 	  }
 	  if (amount > balance){
 	  	IllegalArgumentException exception4 = new IllegalArgumentException("You cannot withdraw more than you have");
      	throw exception4;
 	  }
      double newBalance = balance - amount;
      balance = newBalance;
   }

   /**
      Gets the current balance of the bank account.
      @return the current balance
   */
   public double getBalance()
   {   
      return balance;
   }

   public double getMeasure()
   {
      return balance;
   }

   private double balance;
}