<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Directory%3ADerek_Elder%2FPrograms%2FCheckingAccount5</id>
	<title>Directory:Derek Elder/Programs/CheckingAccount5 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Directory%3ADerek_Elder%2FPrograms%2FCheckingAccount5"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Directory:Derek_Elder/Programs/CheckingAccount5&amp;action=history"/>
	<updated>2026-05-15T11:38:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Directory:Derek_Elder/Programs/CheckingAccount5&amp;diff=96709&amp;oldid=prev</id>
		<title>Derek Elder: +Program</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Directory:Derek_Elder/Programs/CheckingAccount5&amp;diff=96709&amp;oldid=prev"/>
		<updated>2009-11-02T23:17:43Z</updated>

		<summary type="html">&lt;p&gt;+Program&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Main.java==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//*******************************************************************&lt;br /&gt;
//  Program 5       Author: Derek Elder&lt;br /&gt;
//********************************************************************&lt;br /&gt;
&lt;br /&gt;
package program05;&lt;br /&gt;
&lt;br /&gt;
import java.text.DecimalFormat;&lt;br /&gt;
import javax.swing.JOptionPane;&lt;br /&gt;
import javax.swing.*; //JFrame&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import java.util.Vector;&lt;br /&gt;
&lt;br /&gt;
public class Main&lt;br /&gt;
{&lt;br /&gt;
    public static boolean below500 = false;&lt;br /&gt;
    public static CheckingAccount account;&lt;br /&gt;
    public static EOptionsFrame frame;&lt;br /&gt;
    public static String filename = &amp;quot;C:\\accounts.txt&amp;quot;;&lt;br /&gt;
    public static Vector accountStore;&lt;br /&gt;
    public static JTextArea ta;&lt;br /&gt;
  &lt;br /&gt;
    public static void main(String[] args)&lt;br /&gt;
    {&lt;br /&gt;
        accountStore = new Vector();&lt;br /&gt;
        frame = new EOptionsFrame(&amp;quot;Checking Account Actions&amp;quot;);&lt;br /&gt;
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
        ta = new JTextArea(25,50);&lt;br /&gt;
        //GUI panel = new GUI();&lt;br /&gt;
        frame.getContentPane().add(ta);&lt;br /&gt;
        frame.pack();&lt;br /&gt;
        frame.setVisible(true);&lt;br /&gt;
    }&lt;br /&gt;
    public static void addAccount()&lt;br /&gt;
    {&lt;br /&gt;
        String name, stringBalance;&lt;br /&gt;
        float balance, charge;&lt;br /&gt;
        charge = 0.0f;&lt;br /&gt;
        &lt;br /&gt;
        name = JOptionPane.showInputDialog(&amp;quot;Enter your name: &amp;quot;);&lt;br /&gt;
        stringBalance = JOptionPane.showInputDialog(&amp;quot;Enter your initial balance: &amp;quot;);&lt;br /&gt;
        balance = Float.parseFloat(stringBalance);&lt;br /&gt;
        account = new CheckingAccount(name, balance, charge);&lt;br /&gt;
        accountStore.addElement(account);&lt;br /&gt;
    }&lt;br /&gt;
    public static void doTransactions()&lt;br /&gt;
    {&lt;br /&gt;
        int tCode = 0;&lt;br /&gt;
        String stringTCode, stringTransAmt, message;&lt;br /&gt;
        float transAmt, charge, balanceBeforeCharge;&lt;br /&gt;
        boolean done = false;&lt;br /&gt;
        //boolean below500 = false;&lt;br /&gt;
        charge = 0.00f;&lt;br /&gt;
        frame.setVisible(false);&lt;br /&gt;
&lt;br /&gt;
        while(!done)&lt;br /&gt;
        {&lt;br /&gt;
            stringTCode = JOptionPane.showInputDialog(&amp;quot;0: End, 1: Check, 2: Deposit&amp;quot;&lt;br /&gt;
                    + &amp;quot;\nEnter the trans code: &amp;quot;);&lt;br /&gt;
            tCode = Integer.parseInt(stringTCode);&lt;br /&gt;
            DecimalFormat fmt = new DecimalFormat (&amp;quot;0.00&amp;quot;); //Round to two decimal places&lt;br /&gt;
            if(tCode == 1)&lt;br /&gt;
            {&lt;br /&gt;
                stringTransAmt = JOptionPane.showInputDialog(&amp;quot;Enter the trans amount: &amp;quot;);&lt;br /&gt;
                transAmt = Float.parseFloat(stringTransAmt);&lt;br /&gt;
                account.setBalance(transAmt, tCode);&lt;br /&gt;
                account.addTrans(1,account.getTransCount(),transAmt);&lt;br /&gt;
                if(account.getBalance() &amp;lt; 0.00)&lt;br /&gt;
                {&lt;br /&gt;
                    if(below500 == true)&lt;br /&gt;
                    {&lt;br /&gt;
                        charge = 10.15f; //Cost of Check + Below $0 charge&lt;br /&gt;
                        account.setServiceCharge(charge);&lt;br /&gt;
                        message = account.getName() + &amp;quot;'s account&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Transaction : Check in the amount of $&amp;quot; + fmt.format(transAmt) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Current Balance : $&amp;quot; + fmt.format(account.getBalance()) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Service charge : Check -- charge $0.15&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Warning : Balance below $50.00&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Service charge : Below $0 -- charge $10.00&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Total service charge : $&amp;quot; + fmt.format(account.getServiceCharge());&lt;br /&gt;
                        JOptionPane.showMessageDialog(null, message);&lt;br /&gt;
                        account.addTrans(3,account.getTransCount(),0.15f);&lt;br /&gt;
                        account.addTrans(3,account.getTransCount(),10.00f);&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                    {&lt;br /&gt;
                        charge = 5.15f; //Cost of Check + Below $500 charge&lt;br /&gt;
                        account.setServiceCharge(charge);&lt;br /&gt;
                        message = account.getName() + &amp;quot;'s account&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Transaction : Check in the amount of $&amp;quot; + fmt.format(transAmt) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Current Balance : $&amp;quot; + fmt.format(account.getBalance()) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Service charge : Check -- charge $0.15&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Service charge : Below $500.00 -- charge $5.00&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Total service charge : $&amp;quot; + fmt.format(account.getServiceCharge());&lt;br /&gt;
                        JOptionPane.showMessageDialog(null, message);&lt;br /&gt;
                        below500 = true;&lt;br /&gt;
                        account.addTrans(3,account.getTransCount(),0.15f);&lt;br /&gt;
                        account.addTrans(3,account.getTransCount(),5.00f);&lt;br /&gt;
                    }&lt;br /&gt;
                    done = false;&lt;br /&gt;
                }&lt;br /&gt;
                else if(account.getBalance() &amp;lt; 500.00 &amp;amp;&amp;amp; below500 == false)&lt;br /&gt;
                {&lt;br /&gt;
                    charge = 5.15f; //Cost of Check + Below $500 charge&lt;br /&gt;
                    account.setServiceCharge(charge);&lt;br /&gt;
                    below500 = true;&lt;br /&gt;
                    if(account.getBalance() &amp;lt; 50.00)&lt;br /&gt;
                    {&lt;br /&gt;
                        message = account.getName() + &amp;quot;'s account&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Transaction : Check in the amount of $&amp;quot; + fmt.format(transAmt) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Current Balance : $&amp;quot; + fmt.format(account.getBalance()) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Service charge : Check -- charge $0.15&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Warning : Balance below $50.00&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Total service charge : $&amp;quot; + fmt.format(account.getServiceCharge());&lt;br /&gt;
                        JOptionPane.showMessageDialog(null, message);&lt;br /&gt;
                        account.addTrans(3,account.getTransCount(),0.15f);&lt;br /&gt;
                        account.addTrans(3,account.getTransCount(),5.00f);&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                    {&lt;br /&gt;
                        message = account.getName() + &amp;quot;'s account&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Transaction : Check in the amount of $&amp;quot; + fmt.format(transAmt) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Current Balance : $&amp;quot; + fmt.format(account.getBalance()) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Service charge : Check -- charge $0.15&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Service charge : Below $500.00 -- charge $5.00&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Total service charge : $&amp;quot; + fmt.format(account.getServiceCharge());&lt;br /&gt;
                        JOptionPane.showMessageDialog(null, message);&lt;br /&gt;
                        account.addTrans(3,account.getTransCount(),0.15f);&lt;br /&gt;
                        account.addTrans(3,account.getTransCount(),5.00f);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
                else&lt;br /&gt;
                {&lt;br /&gt;
                    charge = 0.15f;&lt;br /&gt;
                    account.setServiceCharge(charge);&lt;br /&gt;
                    if(account.getBalance() &amp;lt; 50.00)&lt;br /&gt;
                    {&lt;br /&gt;
                        message = account.getName() + &amp;quot;'s account&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Transaction : Check in the amount of $&amp;quot; + fmt.format(transAmt) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Current Balance : $&amp;quot; + fmt.format(account.getBalance()) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Service charge : Check -- charge $0.15&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Warning : Balance below $50.00&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Total service charge : $&amp;quot; + fmt.format(account.getServiceCharge());&lt;br /&gt;
                        JOptionPane.showMessageDialog(null, message);&lt;br /&gt;
                        account.addTrans(3,account.getTransCount(),0.15f);&lt;br /&gt;
                    }&lt;br /&gt;
                    else&lt;br /&gt;
                    {&lt;br /&gt;
                        message = account.getName() + &amp;quot;'s account&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Transaction : Check in the amount of $&amp;quot; + fmt.format(transAmt) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Current Balance : $&amp;quot; + fmt.format(account.getBalance()) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Service charge : Check -- charge $0.15&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                                &amp;quot;Total service charge : $&amp;quot; + fmt.format(account.getServiceCharge());&lt;br /&gt;
                        JOptionPane.showMessageDialog(null, message);&lt;br /&gt;
                        account.addTrans(3,account.getTransCount(),0.15f);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
                done = false;&lt;br /&gt;
            }&lt;br /&gt;
            else if(tCode == 2)&lt;br /&gt;
            {&lt;br /&gt;
                stringTransAmt = JOptionPane.showInputDialog(&amp;quot;Enter the trans amount: &amp;quot;);&lt;br /&gt;
                transAmt = Float.parseFloat(stringTransAmt);&lt;br /&gt;
                charge = 0.10f;&lt;br /&gt;
                account.setServiceCharge(charge);&lt;br /&gt;
                account.setBalance(transAmt, tCode);&lt;br /&gt;
                account.addTrans(2,account.getTransCount(),transAmt);&lt;br /&gt;
                if(account.getBalance() &amp;lt;= 50.00)&lt;br /&gt;
                {&lt;br /&gt;
                    message = account.getName() + &amp;quot;'s account&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Transaction : Check in the amount of $&amp;quot; + fmt.format(transAmt) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Current Balance : $&amp;quot; + fmt.format(account.getBalance()) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Service charge : Deposit -- charge $0.10&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Warning : Balance below $50.00&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Total service charge : $&amp;quot; + fmt.format(account.getServiceCharge());&lt;br /&gt;
                    JOptionPane.showMessageDialog(null, message);&lt;br /&gt;
                    account.addTrans(3,account.getTransCount(),0.10f);&lt;br /&gt;
                }&lt;br /&gt;
                else&lt;br /&gt;
                {&lt;br /&gt;
                    message = account.getName() + &amp;quot;'s account&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Transaction : Deposit in the amount of $&amp;quot; + fmt.format(transAmt) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Current Balance : $&amp;quot; + fmt.format(account.getBalance()) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Service charge : Deposit -- charge $0.10&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                            &amp;quot;Total service charge : $&amp;quot; + fmt.format(account.getServiceCharge());&lt;br /&gt;
                    JOptionPane.showMessageDialog(null, message);&lt;br /&gt;
                    account.addTrans(3,account.getTransCount(),0.10f);&lt;br /&gt;
                }&lt;br /&gt;
                done = false;&lt;br /&gt;
            }&lt;br /&gt;
            else //tCode = 0&lt;br /&gt;
            {&lt;br /&gt;
                balanceBeforeCharge = account.getBalance();&lt;br /&gt;
                charge = account.getServiceCharge();&lt;br /&gt;
                account.setBalance(charge, tCode);&lt;br /&gt;
                message = &amp;quot;Transaction : End&amp;quot; + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                          &amp;quot;Current Balance : $&amp;quot; + fmt.format(balanceBeforeCharge) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                          &amp;quot;Total service charge : $&amp;quot; + fmt.format(account.getServiceCharge()) + &amp;quot;\n&amp;quot; +&lt;br /&gt;
                          &amp;quot;Final Balance : $&amp;quot; + fmt.format(account.getBalance());&lt;br /&gt;
                JOptionPane.showMessageDialog(null, message);&lt;br /&gt;
                done = true;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        frame.setVisible(true);&lt;br /&gt;
    }&lt;br /&gt;
    public static void listTransactions()&lt;br /&gt;
    {&lt;br /&gt;
        String message;&lt;br /&gt;
        &lt;br /&gt;
        //message = accountStore.toString();&lt;br /&gt;
        message = account.toString();&lt;br /&gt;
        ta.setText(message);&lt;br /&gt;
        //System.out.println(account);&lt;br /&gt;
    }&lt;br /&gt;
    public static void listChecks()&lt;br /&gt;
    {&lt;br /&gt;
        String message;&lt;br /&gt;
        message = &amp;quot;&amp;quot;;&lt;br /&gt;
        message += &amp;quot;Listing all Checks for &amp;quot; + account.getName() + &amp;quot;:&amp;quot;;&lt;br /&gt;
        message += &amp;quot;\nID\t\tType\t\tAmount&amp;quot;;&lt;br /&gt;
        message += &amp;quot;\n&amp;quot; + account.getTrans(1);&lt;br /&gt;
        ta.setText(message);&lt;br /&gt;
    }&lt;br /&gt;
    public static void listDeposits()&lt;br /&gt;
    {&lt;br /&gt;
        String message;&lt;br /&gt;
        message = &amp;quot;&amp;quot;;&lt;br /&gt;
        message += &amp;quot;Listing all Deposits for &amp;quot; + account.getName() + &amp;quot;:&amp;quot;;&lt;br /&gt;
        message += &amp;quot;\nID\t\tType\t\tAmount&amp;quot;;&lt;br /&gt;
        message += &amp;quot;\n&amp;quot; + account.getTrans(2);&lt;br /&gt;
        ta.setText(message);&lt;br /&gt;
    }&lt;br /&gt;
    public static void findAccount()&lt;br /&gt;
    {&lt;br /&gt;
        String name, message;&lt;br /&gt;
        int index;&lt;br /&gt;
&lt;br /&gt;
        name = JOptionPane.showInputDialog (&amp;quot;Enter the Account holder's name: &amp;quot;);&lt;br /&gt;
        for(index = 0; index != accountStore.size(); index++)&lt;br /&gt;
	{&lt;br /&gt;
            CheckingAccount datum = (CheckingAccount)accountStore.elementAt(index);&lt;br /&gt;
            if(name.equals(datum.getName()))&lt;br /&gt;
            {&lt;br /&gt;
                message = &amp;quot;The account for &amp;quot; + name + &amp;quot; has been found.&amp;quot;;&lt;br /&gt;
                ta.setText(message);&lt;br /&gt;
                account = datum;&lt;br /&gt;
            }&lt;br /&gt;
	}&lt;br /&gt;
    }&lt;br /&gt;
    public static void readFromFile()&lt;br /&gt;
    {&lt;br /&gt;
        chooseFile(1);&lt;br /&gt;
&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            FileInputStream fis = new FileInputStream(filename);&lt;br /&gt;
            ObjectInputStream in = new ObjectInputStream(fis);&lt;br /&gt;
            &lt;br /&gt;
            //account = (CheckingAccount)in.readObject();        &lt;br /&gt;
            Vector storeIn = (Vector)in.readObject();&lt;br /&gt;
            in.close();&lt;br /&gt;
            accountStore = storeIn;&lt;br /&gt;
        }&lt;br /&gt;
        catch(ClassNotFoundException e)&lt;br /&gt;
        {&lt;br /&gt;
            System.out.println(e);&lt;br /&gt;
        }&lt;br /&gt;
        catch(IOException e)&lt;br /&gt;
        {&lt;br /&gt;
            System.out.println(e);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public static void writeToFile()&lt;br /&gt;
    {&lt;br /&gt;
        chooseFile(2);&lt;br /&gt;
&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            FileOutputStream fos = new FileOutputStream(filename);&lt;br /&gt;
            ObjectOutputStream out = new ObjectOutputStream(fos);&lt;br /&gt;
&lt;br /&gt;
            //out.writeObject(account);&lt;br /&gt;
            out.writeObject(accountStore);&lt;br /&gt;
            out.close();&lt;br /&gt;
        }&lt;br /&gt;
        catch(IOException e)&lt;br /&gt;
        {&lt;br /&gt;
            System.out.println(e);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public static void chooseFile(int ioOption)&lt;br /&gt;
    {&lt;br /&gt;
        int status, confirm;&lt;br /&gt;
        String  message = &amp;quot;Would you like to use the current default file: \n&amp;quot; + filename;&lt;br /&gt;
&lt;br /&gt;
        confirm = JOptionPane.showConfirmDialog (null, message);&lt;br /&gt;
&lt;br /&gt;
        if(confirm == JOptionPane.YES_OPTION)&lt;br /&gt;
        {&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        JFileChooser chooser = new JFileChooser();&lt;br /&gt;
       &lt;br /&gt;
        if(ioOption == 1)&lt;br /&gt;
        {&lt;br /&gt;
            status = chooser.showOpenDialog(null);&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            status = chooser.showSaveDialog(null);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if(status == JFileChooser.APPROVE_OPTION)&lt;br /&gt;
        {&lt;br /&gt;
            File file = chooser.getSelectedFile();&lt;br /&gt;
            filename = file.getPath();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Account.java==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//*******************************************************************&lt;br /&gt;
//  Account Class       Author: Derek Elder&lt;br /&gt;
//********************************************************************&lt;br /&gt;
&lt;br /&gt;
package program05;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
&lt;br /&gt;
public class Account implements Serializable&lt;br /&gt;
{&lt;br /&gt;
    protected String name;&lt;br /&gt;
    protected float balance;&lt;br /&gt;
   &lt;br /&gt;
    public Account(String initialName, float initialBalance)&lt;br /&gt;
    {&lt;br /&gt;
        name = initialName;&lt;br /&gt;
        balance = initialBalance;&lt;br /&gt;
    }&lt;br /&gt;
    public String getName()&lt;br /&gt;
    {&lt;br /&gt;
        return name;&lt;br /&gt;
    }&lt;br /&gt;
    public float getBalance()&lt;br /&gt;
    {&lt;br /&gt;
        return balance;&lt;br /&gt;
    }&lt;br /&gt;
    public float setBalance(float currentBalance, int tCode)&lt;br /&gt;
     {&lt;br /&gt;
         if(tCode == 1 || tCode == 0)&lt;br /&gt;
             balance -= currentBalance;&lt;br /&gt;
         else //if(tCode == 2)&lt;br /&gt;
             balance += currentBalance;&lt;br /&gt;
         return balance;&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==CheckingAccount.java==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//*******************************************************************&lt;br /&gt;
//  CheckingAccount Class       Author: Derek Elder&lt;br /&gt;
//********************************************************************&lt;br /&gt;
&lt;br /&gt;
package program05;&lt;br /&gt;
&lt;br /&gt;
import java.text.NumberFormat;&lt;br /&gt;
&lt;br /&gt;
public class CheckingAccount extends Account&lt;br /&gt;
{&lt;br /&gt;
    private float totalServiceCharge;&lt;br /&gt;
    private int transCount;&lt;br /&gt;
    private Transaction[] tList;&lt;br /&gt;
&lt;br /&gt;
     public void addTrans(int transID, int transNumber, float transAmt)&lt;br /&gt;
     {&lt;br /&gt;
         if(transCount == tList.length)&lt;br /&gt;
             increaseArray();&lt;br /&gt;
            &lt;br /&gt;
         tList[transCount] = new Transaction(transID, transNumber, transAmt);&lt;br /&gt;
         transCount++;&lt;br /&gt;
     }&lt;br /&gt;
     public String getTrans(int checkOrDeposit)&lt;br /&gt;
     {&lt;br /&gt;
         int i;&lt;br /&gt;
         String message = &amp;quot;&amp;quot;;&lt;br /&gt;
         &lt;br /&gt;
         for(i = 0;i &amp;lt; transCount;i++)&lt;br /&gt;
         {&lt;br /&gt;
             if(tList[i].getTransID() == checkOrDeposit)&lt;br /&gt;
             {&lt;br /&gt;
                 //System.out.println(tList[i]);&lt;br /&gt;
                 message += tList[i].toString();&lt;br /&gt;
&lt;br /&gt;
             }&lt;br /&gt;
         }&lt;br /&gt;
         return message;&lt;br /&gt;
     }&lt;br /&gt;
     public int getTransCount()&lt;br /&gt;
     {&lt;br /&gt;
         return transCount;&lt;br /&gt;
     }&lt;br /&gt;
     public void setTransCount(int tCount)&lt;br /&gt;
     {&lt;br /&gt;
         transCount = tCount;&lt;br /&gt;
     }&lt;br /&gt;
     public float getServiceCharge()&lt;br /&gt;
     {&lt;br /&gt;
         return totalServiceCharge;&lt;br /&gt;
     }&lt;br /&gt;
     public float setServiceCharge(float currentServiceCharge)&lt;br /&gt;
     {&lt;br /&gt;
         totalServiceCharge += currentServiceCharge;&lt;br /&gt;
         return totalServiceCharge;&lt;br /&gt;
     }&lt;br /&gt;
     public CheckingAccount()&lt;br /&gt;
     {&lt;br /&gt;
         super(&amp;quot;&amp;quot;, 0.0f);&lt;br /&gt;
         totalServiceCharge = 0;&lt;br /&gt;
         tList = new Transaction[10];&lt;br /&gt;
         transCount = 0;&lt;br /&gt;
     }&lt;br /&gt;
     public CheckingAccount(String currentName, float currentBalance, float currentServiceCharge)&lt;br /&gt;
     {&lt;br /&gt;
         super(currentName, currentBalance);&lt;br /&gt;
         totalServiceCharge = currentServiceCharge;&lt;br /&gt;
         tList = new Transaction[10];&lt;br /&gt;
         transCount = 0;&lt;br /&gt;
     }&lt;br /&gt;
     public String toString()&lt;br /&gt;
     {&lt;br /&gt;
         NumberFormat fmt = NumberFormat.getCurrencyInstance();&lt;br /&gt;
         int i;&lt;br /&gt;
&lt;br /&gt;
         String report = &amp;quot;Account Name: &amp;quot; + name + &amp;quot;\n&amp;quot;;&lt;br /&gt;
         report += &amp;quot;Balance: &amp;quot; + balance + &amp;quot;\n&amp;quot;;&lt;br /&gt;
         report += &amp;quot;Total Service Charge: &amp;quot; + fmt.format(totalServiceCharge) + &amp;quot;\n&amp;quot;;&lt;br /&gt;
         report += &amp;quot;Number of Transactions: &amp;quot; + transCount;&lt;br /&gt;
         report += &amp;quot;\n\nChecking Account List:\n\n&amp;quot;;&lt;br /&gt;
         report += &amp;quot;ID\t\tType\t\tAmount\n&amp;quot;;&lt;br /&gt;
         report += &amp;quot;--------------------------------------------------&amp;quot;&lt;br /&gt;
                 + &amp;quot;--------------------------------------------------\n&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
         for(i = 0; i &amp;lt; transCount; i++)&lt;br /&gt;
              report += tList[i] + &amp;quot;\n&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         return report;&lt;br /&gt;
     }&lt;br /&gt;
     private void increaseArray()&lt;br /&gt;
     {&lt;br /&gt;
         int i;&lt;br /&gt;
         Transaction[] temp = new Transaction[tList.length * 2];&lt;br /&gt;
&lt;br /&gt;
         for(i = 0; i &amp;lt; tList.length; i++)&lt;br /&gt;
             temp[i] = tList[i];&lt;br /&gt;
         tList = temp;&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==EOptionsFrame.java==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//*******************************************************************&lt;br /&gt;
//  EOptionsFrame Class       Author: Derek Elder&lt;br /&gt;
//********************************************************************&lt;br /&gt;
&lt;br /&gt;
package program05;&lt;br /&gt;
import java.awt.*;&lt;br /&gt;
import javax.swing.*;&lt;br /&gt;
import java.awt.event.*;&lt;br /&gt;
&lt;br /&gt;
public class EOptionsFrame extends JFrame implements WindowListener&lt;br /&gt;
{&lt;br /&gt;
    public static final int WIDTH = 300;&lt;br /&gt;
    public static final int HEIGHT = 200;&lt;br /&gt;
    private JMenu fileMenu, accountsMenu, transactionsMenu;&lt;br /&gt;
    private JMenuItem readFile, writeFile, addAccount, listTransactions, &lt;br /&gt;
            findChecks, findDeposits, findAccount, addTransactions;&lt;br /&gt;
    &lt;br /&gt;
    public EOptionsFrame(String title )&lt;br /&gt;
    {&lt;br /&gt;
        super(title);&lt;br /&gt;
        addWindowListener(this);&lt;br /&gt;
        setSize(WIDTH, HEIGHT);&lt;br /&gt;
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;
&lt;br /&gt;
        JMenu fileMenu = new JMenu(&amp;quot;File&amp;quot;);&lt;br /&gt;
        MenuListener ml = new MenuListener();&lt;br /&gt;
&lt;br /&gt;
        JMenuItem readFile = new JMenuItem(&amp;quot;Read from file&amp;quot;);&lt;br /&gt;
        readFile.addActionListener(ml);&lt;br /&gt;
        fileMenu.add(readFile);&lt;br /&gt;
&lt;br /&gt;
        JMenuItem writeFile = new JMenuItem(&amp;quot;Write to file&amp;quot;);&lt;br /&gt;
        writeFile.addActionListener(ml);&lt;br /&gt;
        fileMenu.add(writeFile);&lt;br /&gt;
&lt;br /&gt;
        JMenu accountsMenu = new JMenu(&amp;quot;Account&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        JMenuItem addAccount = new JMenuItem(&amp;quot;Add new account&amp;quot;);&lt;br /&gt;
        addAccount.addActionListener(ml);&lt;br /&gt;
        accountsMenu.add(addAccount);&lt;br /&gt;
&lt;br /&gt;
        JMenuItem listTransactions = new JMenuItem(&amp;quot;List account transactions&amp;quot;);&lt;br /&gt;
        listTransactions.addActionListener(ml);&lt;br /&gt;
        accountsMenu.add(listTransactions);&lt;br /&gt;
&lt;br /&gt;
        JMenuItem findChecks = new JMenuItem(&amp;quot;List all checks&amp;quot;);&lt;br /&gt;
        findChecks.addActionListener(ml);&lt;br /&gt;
        accountsMenu.add(findChecks);&lt;br /&gt;
        &lt;br /&gt;
        JMenuItem findDeposits = new JMenuItem(&amp;quot;List all deposits&amp;quot;);&lt;br /&gt;
        findDeposits.addActionListener(ml);&lt;br /&gt;
        accountsMenu.add(findDeposits);&lt;br /&gt;
        &lt;br /&gt;
        JMenuItem findAccount = new JMenuItem(&amp;quot;Find an account&amp;quot;);&lt;br /&gt;
        findAccount.addActionListener(ml);&lt;br /&gt;
        accountsMenu.add(findAccount);&lt;br /&gt;
        &lt;br /&gt;
        JMenu transactionsMenu = new JMenu(&amp;quot;Transactions&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        JMenuItem addTransactions = new JMenuItem(&amp;quot;Add transactions&amp;quot;);&lt;br /&gt;
        addTransactions.addActionListener(ml);&lt;br /&gt;
        transactionsMenu.add(addTransactions);&lt;br /&gt;
&lt;br /&gt;
        JMenuBar bar = new JMenuBar( );&lt;br /&gt;
        bar.add(fileMenu);&lt;br /&gt;
        bar.add(accountsMenu);&lt;br /&gt;
        bar.add(transactionsMenu);&lt;br /&gt;
        setJMenuBar(bar);&lt;br /&gt;
    }&lt;br /&gt;
    public void windowClosing(WindowEvent e)&lt;br /&gt;
    {&lt;br /&gt;
        int fileYea;&lt;br /&gt;
        String selection;&lt;br /&gt;
        selection = JOptionPane.showInputDialog(&amp;quot;Save the account to a file? &amp;quot; +&lt;br /&gt;
                &amp;quot;(Enter 1 to save)&amp;quot;);&lt;br /&gt;
        fileYea = Integer.parseInt(selection);&lt;br /&gt;
        if(fileYea == 1)&lt;br /&gt;
        {&lt;br /&gt;
            Main.writeToFile();&lt;br /&gt;
        }&lt;br /&gt;
        this.setVisible(false);&lt;br /&gt;
        System.exit(0);&lt;br /&gt;
    }&lt;br /&gt;
    public void windowClosed(WindowEvent e)&lt;br /&gt;
    {}&lt;br /&gt;
    public void windowOpened(WindowEvent e)&lt;br /&gt;
    {}&lt;br /&gt;
    public void windowIconified(WindowEvent e)&lt;br /&gt;
    {}&lt;br /&gt;
    public void windowDeiconified(WindowEvent e)&lt;br /&gt;
    {}&lt;br /&gt;
    public void windowActivated(WindowEvent e)&lt;br /&gt;
    {}&lt;br /&gt;
    public void windowDeactivated(WindowEvent e)&lt;br /&gt;
    {}&lt;br /&gt;
    //*****************************************************************&lt;br /&gt;
    //  Represents the listener for the radio buttons&lt;br /&gt;
    //*****************************************************************&lt;br /&gt;
    private class MenuListener implements ActionListener&lt;br /&gt;
    {&lt;br /&gt;
      public void actionPerformed (ActionEvent event) &lt;br /&gt;
      {&lt;br /&gt;
         String source = event.getActionCommand();&lt;br /&gt;
&lt;br /&gt;
         if(source.equals(&amp;quot;Add new account&amp;quot;))&lt;br /&gt;
         {&lt;br /&gt;
             Main.addAccount();&lt;br /&gt;
         }&lt;br /&gt;
         else if(source.equals(&amp;quot;List account transactions&amp;quot;))&lt;br /&gt;
         {&lt;br /&gt;
             Main.listTransactions();&lt;br /&gt;
         }&lt;br /&gt;
         else if(source.equals(&amp;quot;List all checks&amp;quot;))&lt;br /&gt;
         {&lt;br /&gt;
             Main.listChecks();&lt;br /&gt;
         }&lt;br /&gt;
         else if(source.equals(&amp;quot;List all deposits&amp;quot;))&lt;br /&gt;
         {&lt;br /&gt;
             Main.listDeposits();&lt;br /&gt;
         }&lt;br /&gt;
         else if(source.equals(&amp;quot;Read from file&amp;quot;))&lt;br /&gt;
         {&lt;br /&gt;
             Main.readFromFile();&lt;br /&gt;
         }&lt;br /&gt;
         else if (source.equals(&amp;quot;Write to file&amp;quot;))&lt;br /&gt;
         {&lt;br /&gt;
             Main.writeToFile();&lt;br /&gt;
         }&lt;br /&gt;
         else if (source.equals(&amp;quot;Find an account&amp;quot;))&lt;br /&gt;
         {&lt;br /&gt;
             Main.findAccount();&lt;br /&gt;
         }&lt;br /&gt;
         else if (source.equals(&amp;quot;Add transactions&amp;quot;))&lt;br /&gt;
         {&lt;br /&gt;
             Main.doTransactions();&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Transaction.java==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//*******************************************************************&lt;br /&gt;
//  Transaction Class       Author: Derek Elder&lt;br /&gt;
//********************************************************************&lt;br /&gt;
&lt;br /&gt;
package program05;&lt;br /&gt;
import java.io.Serializable;&lt;br /&gt;
import java.text.NumberFormat;&lt;br /&gt;
&lt;br /&gt;
public class Transaction implements Serializable&lt;br /&gt;
{&lt;br /&gt;
    private int transID;&lt;br /&gt;
    private int transNumber;&lt;br /&gt;
    private float transAmt;&lt;br /&gt;
    private String transType;&lt;br /&gt;
   &lt;br /&gt;
    public int getTransID()&lt;br /&gt;
    {&lt;br /&gt;
        return transID;&lt;br /&gt;
    }&lt;br /&gt;
    public int getTransNumber()&lt;br /&gt;
    {&lt;br /&gt;
        return transNumber;&lt;br /&gt;
    }&lt;br /&gt;
    public float getTransAmt()&lt;br /&gt;
    {&lt;br /&gt;
        return transAmt;&lt;br /&gt;
    }&lt;br /&gt;
    public Transaction(int currentTransID, int currentTransNumber, float currentTransAmt)&lt;br /&gt;
    {&lt;br /&gt;
        transID = currentTransID;&lt;br /&gt;
        transNumber = currentTransNumber;&lt;br /&gt;
        transAmt = currentTransAmt;&lt;br /&gt;
    }&lt;br /&gt;
    public String toString()&lt;br /&gt;
    {&lt;br /&gt;
        NumberFormat fmt = NumberFormat.getCurrencyInstance();&lt;br /&gt;
        String description;&lt;br /&gt;
&lt;br /&gt;
        if(transID == 1)&lt;br /&gt;
            transType = &amp;quot;Check&amp;quot;;&lt;br /&gt;
        else if(transID == 2)&lt;br /&gt;
            transType = &amp;quot;Deposit&amp;quot;;&lt;br /&gt;
        else //(transID == 3)&lt;br /&gt;
            transType = &amp;quot;S.Ch.&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        description = transNumber + &amp;quot;\t\t&amp;quot; + transType + &amp;quot;\t\t&amp;quot; + fmt.format(transAmt);&lt;br /&gt;
&lt;br /&gt;
        return description;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==GUI.java==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//*******************************************************************&lt;br /&gt;
//  GUI Class       Author: Derek Elder&lt;br /&gt;
//********************************************************************&lt;br /&gt;
&lt;br /&gt;
package program05;&lt;br /&gt;
&lt;br /&gt;
import javax.swing.*;&lt;br /&gt;
import java.awt.*;&lt;br /&gt;
import java.awt.event.*;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
&lt;br /&gt;
public class GUI extends JPanel&lt;br /&gt;
{&lt;br /&gt;
   private JLabel prompt;&lt;br /&gt;
   private JRadioButton one, two, three, four, five, six;&lt;br /&gt;
   private String ioFile = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
   public GUI()&lt;br /&gt;
   {&lt;br /&gt;
      prompt = new JLabel(&amp;quot;Choose your action: &amp;quot;);&lt;br /&gt;
      prompt.setFont (new Font(&amp;quot;Helvetica&amp;quot;, Font.BOLD, 30));&lt;br /&gt;
      one = new JRadioButton(&amp;quot;Enter a transaction&amp;quot;);&lt;br /&gt;
      one.setBackground(Color.blue);&lt;br /&gt;
      two = new JRadioButton(&amp;quot;List all transactions&amp;quot;);&lt;br /&gt;
      two.setBackground(Color.blue);&lt;br /&gt;
      three = new JRadioButton(&amp;quot;List all checks&amp;quot;);&lt;br /&gt;
      three.setBackground(Color.blue);&lt;br /&gt;
      four = new JRadioButton(&amp;quot;List all deposits&amp;quot;);&lt;br /&gt;
      four.setBackground(Color.blue);&lt;br /&gt;
      five = new JRadioButton(&amp;quot;Read from File&amp;quot;);&lt;br /&gt;
      five.setBackground(Color.blue);&lt;br /&gt;
      six = new JRadioButton(&amp;quot;Write to File&amp;quot;);&lt;br /&gt;
      six.setBackground(Color.blue);&lt;br /&gt;
&lt;br /&gt;
      ButtonGroup group = new ButtonGroup();&lt;br /&gt;
      group.add(one);&lt;br /&gt;
      group.add(two);&lt;br /&gt;
      group.add(three);&lt;br /&gt;
      group.add(four);&lt;br /&gt;
      group.add(five);&lt;br /&gt;
      group.add(six);&lt;br /&gt;
&lt;br /&gt;
      GUIListener listener = new GUIListener();&lt;br /&gt;
      one.addActionListener(listener);&lt;br /&gt;
      two.addActionListener(listener);&lt;br /&gt;
      three.addActionListener(listener);&lt;br /&gt;
      four.addActionListener(listener);&lt;br /&gt;
      five.addActionListener(listener);&lt;br /&gt;
      six.addActionListener(listener);&lt;br /&gt;
&lt;br /&gt;
      //Add the components to the JPanel&lt;br /&gt;
      add(prompt);&lt;br /&gt;
      add(one);&lt;br /&gt;
      add(two);&lt;br /&gt;
      add(three);&lt;br /&gt;
      add(four);&lt;br /&gt;
      add(five);&lt;br /&gt;
      add(six);&lt;br /&gt;
      setBackground(Color.blue);&lt;br /&gt;
      setPreferredSize(new Dimension(400, 100));&lt;br /&gt;
   }&lt;br /&gt;
   //*****************************************************************&lt;br /&gt;
   //  Represents the listener for the radio buttons&lt;br /&gt;
   //*****************************************************************&lt;br /&gt;
   private class GUIListener implements ActionListener&lt;br /&gt;
   {&lt;br /&gt;
      public void actionPerformed(ActionEvent event)&lt;br /&gt;
      {&lt;br /&gt;
         Object source = event.getSource();&lt;br /&gt;
&lt;br /&gt;
         if(source == one)&lt;br /&gt;
         {&lt;br /&gt;
             Main.doTransactions();&lt;br /&gt;
         }&lt;br /&gt;
         else if(source == two)&lt;br /&gt;
         {&lt;br /&gt;
             Main.listTransactions();&lt;br /&gt;
         }&lt;br /&gt;
         else if(source == three)&lt;br /&gt;
         {&lt;br /&gt;
             Main.listChecks();&lt;br /&gt;
         }&lt;br /&gt;
         else if(source == four)&lt;br /&gt;
         {&lt;br /&gt;
             Main.listDeposits();&lt;br /&gt;
         }&lt;br /&gt;
         else if(source == five)&lt;br /&gt;
         {&lt;br /&gt;
             Main.readFromFile();&lt;br /&gt;
         }&lt;br /&gt;
         else //if(source == six)&lt;br /&gt;
         {&lt;br /&gt;
             Main.writeToFile();&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==JFrameL.java==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//*******************************************************************&lt;br /&gt;
//  JFrameL - WindowListener Options       Author: Derek Elder&lt;br /&gt;
//********************************************************************&lt;br /&gt;
&lt;br /&gt;
package program05;&lt;br /&gt;
import javax.swing.*;&lt;br /&gt;
import java.awt.*;&lt;br /&gt;
import java.awt.event.*;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
&lt;br /&gt;
public class JFrameL extends JFrame implements WindowListener&lt;br /&gt;
{&lt;br /&gt;
    public JFrameL(String title)&lt;br /&gt;
    {&lt;br /&gt;
        super(title);&lt;br /&gt;
        addWindowListener(this);&lt;br /&gt;
    }&lt;br /&gt;
    public void windowClosing(WindowEvent e)&lt;br /&gt;
    {&lt;br /&gt;
        int fileYea;&lt;br /&gt;
        String selection;&lt;br /&gt;
        selection = JOptionPane.showInputDialog(&amp;quot;Save the account to a file? &amp;quot; +&lt;br /&gt;
                &amp;quot;(Enter 1 to save)&amp;quot;);&lt;br /&gt;
        fileYea = Integer.parseInt(selection);&lt;br /&gt;
        if(fileYea == 1)&lt;br /&gt;
        {&lt;br /&gt;
            Main.writeToFile();&lt;br /&gt;
        }&lt;br /&gt;
        this.setVisible(false);&lt;br /&gt;
        System.exit(0);&lt;br /&gt;
    }&lt;br /&gt;
    public void windowClosed(WindowEvent e)&lt;br /&gt;
    {}&lt;br /&gt;
    public void windowOpened(WindowEvent e)&lt;br /&gt;
    {}&lt;br /&gt;
    public void windowIconified(WindowEvent e)&lt;br /&gt;
    {}&lt;br /&gt;
    public void windowDeiconified(WindowEvent e)&lt;br /&gt;
    {}&lt;br /&gt;
    public void windowActivated(WindowEvent e)&lt;br /&gt;
    {}&lt;br /&gt;
    public void windowDeactivated(WindowEvent e)&lt;br /&gt;
    {}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Derek Elder</name></author>
	</entry>
</feed>