All pastes #246248 Raw Edit

Stuff

public text v1 · immutable
#246248 ·published 2006-11-12 00:48 UTC
rendered paste body

import chn.util.*;

class CheckingAccount
{
	 final double CHECK_CHARGE = 0.15;
	 double myBalance;
	 double myAmount;
	
	
	 /**
	   Constructs a bank account with a zero balance
	 */
	 public CheckingAccount()
	 {
	   myBalance = 0;
	 }
	
	 /**
	   Constructs a bank account with a given balance
	   @param initialBalance the initial balance
	 */
	public CheckingAccount(double initialBalance)
        {
        		myBalance = initialBalance;
        		if(myBalance < 0)
        			throw new IllegalArgumentException();
        		
        }
  	  
        
	 /**
	   Deposits money into the bank account.
	   @param amount the amount to deposit
	 */
	 public void deposit(double amount)
	 {
	 	
	 	if(amount < 0)
	 		throw new IllegalArgumentException();
	 	myBalance += amount;
	 }
	
	
	 /**
	   Withdraws money from the bank account.
	   @param amount the amount to withdraw
	 */
	 public void withdraw(double amount2)
	 {
	  	myAmount = amount2;
	  	if(amount2 < 0 || myAmount > myBalance)
	  		throw new IllegalArgumentException(); 
	  	
	  	myBalance = myBalance - myAmount - CHECK_CHARGE;
	  
	 }
	 /**
	   Gets the current balance of the bank account.
	   @return the current balance
	 */
	 public double getBalance()
	 {
	   return myBalance;
	 }
	 



}
public class ErrorCheck
{
    public static void main(String[] args)
               { 
						//variables
						CheckingAccount errorCheck = new CheckingAccount();
						ConsoleIO console = new ConsoleIO();
						double balance = 0;
						double deposit = 0;
						double withdraw = 0;
						
						
						int count = 0;
						int count1 = 0;
						int count2 = 0;
					   	
					   //starting balance
					   while(count == 0)
					   {   		 
                       
                       System.out.print("Please enter the starting balance:   ");
                       balance = console.readDouble();
	                      //try-catch statement
	                       try
	                       {
	                       		errorCheck = new CheckingAccount(balance);
	                       		count++;
	                       		System.out.println("Account opened with balance of " + balance);
	                       } 
						   catch(IllegalArgumentException e)
						   {
						   		System.out.println("Error CheckingAccount: negative initial balance");
						   		
						   }
					  } 	
                    	//deposit
                    	while(count1 == 0)
                    	{
	                    	System.out.print("Please enter the amount to deposit:  ");
	                    	deposit = console.readDouble();	
								//try-catch statement
								try
		                    	{
		                    		errorCheck.deposit(deposit);
		                    		count1++;
		                    		System.out.println("Deposit made. Current account balance = " + errorCheck.getBalance());
		                    	}
		                     	catch(IllegalArgumentException e)
		                     	{
		                     		System.out.println("Error deposit: negative amount");
		                     	}	   
	                    }	
            			
            			//withdraw 
            			while(count2 == 0)
            			{
	            			System.out.print("Please enter the amount to withdraw:  ");
	            			withdraw = console.readDouble();
	            				//try catch statement
	            				try
	            				{
	            					errorCheck.withdraw(withdraw);
	            					count2++;	
	            					System.out.println("Withdrawal made. Current account balance = " + errorCheck.getBalance());
	            				}
	            				catch(IllegalArgumentException e)
	            				{
	            					System.out.println("Error Withdraw: Illegal Amount");
	            				}	            		
            			}
             			System.out.println("Thank you for using ErrorFreeChecking...goodbye!");
             			
             }
}