Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a program called BankAccount. Java. This program contains the following me

ID: 3779330 • Letter: W

Question

Write a program called BankAccount. Java. This program contains the following methods: 1) Database Methods a. initializeDB Makes a connection to the database and returns connection object AccountType accountNumber) i. Create a select query to find account type based on account number i. Returns account type c. select Balance (int accountNumber, char accountType) Using accountNumber and accountType, create select query for finding account i. balance. ii. Return account balance d. update Balance (int accountNumber, char accountType, double amount) i. Using accountNumber, accountType, and amount update the account balance 2) Non-DB Methods a. find Balance (int accountNumber) i. Call findAccount Type to get the account type If account doesn't exist, display message I. ii. Call selectBalance to get the balance b. withdraw (int account Number, double amount i. If the amount being withdrawn is greater than current balance, display message Amount exceeds balance ii. If the amount being withdrawn is less than current balance, reduces balance by the amount c. deposit (int accountNumber, double amount) i. Update balance with the amount being deposited 3) Use try...catch blocks 4) Use Prepared Statements Functionality Enter Account Number: Enter your choice (3) Deposit Amount

Explanation / Answer

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

class GuiAccTest extends Frame implements ActionListener

{

        Label lab=new Label(" ");

        Label lab1=new Label(" ");

        TextField t[]=new TextField [4];

        Label l[]=new Label [4];

       Button but=new Button("Create Account");

        Button but1=new Button("Test Account");

        BankAccount b;

        GuiAccTest()

        {

           addWindowListener(new NewWindowAdapter());

                setLayout(new GridLayout(2,0));

                Panel p=new Panel();

                Panel p1=new Panel();

                but.addActionListener(this);

                but1.addActionListener(this);

                p.setLayout(new GridLayout(5,2));

                p1.add(lab1);

               p1.add(lab);

                l[0]=new Label("Account Number");

                l[1]=new Label("Initial Balance");

                l[2]=new Label("Deposit Amount");

                l[3]=new Label("Withdraw Amount");

                for(int i=0;i<4;i++)

                {

                        t[i]=new TextField(10);

                        p.add(l[i]);

                        p.add(t[i]);

                }

                p.add(but);

                p.add(but1);

                but1.setVisible(false);

                l[2].setVisible(false);

                l[3].setVisible(false);

                t[2].setVisible(false);

                t[3].setVisible(false);

                add(p);

                add(p1);

        }

        String testAccount(int d_amt,int w_amt)

        {

                String msg;

                b.deposit(d_amt);

                msg="Transaction Succesful";

                try

                {

                        b.withdraw(w_amt);

                }catch(FundsInsufficientException fe)

                {

                        fe=new

FundsInsufficientException(b.amount,w_amt);

                        msg=String.valueOf(fe);

                }

                return msg;

        }

        public void actionPerformed(ActionEvent ae)

        {

                String str=ae.getActionCommand();

                if(str.equals("Create Account"))

                {

                        b=new

BankAccount(Integer.parseInt(t[0].getText()),

            Integer.parseInt(t[1].getText()));

                        but1.setVisible(true);

                        l[2].setVisible(true);

                        l[3].setVisible(true);

                        t[2].setVisible(true);

                        t[3].setVisible(true);

                        but.setVisible(false);

                        l[0].setVisible(false);

                        l[1].setVisible(false);

                        t[0].setVisible(false);

                        t[1].setVisible(false);

                        lab1.setText("Account : "+b.accnum+", Current

Balance : "+b.amount);

                        return;

                }

                else

                {

lab.setText(testAccount(Integer.parseInt(t[2].getText()),

Integer.parseInt(t[3].getText())));

                        lab1.setText("Account : "+b.accnum+", Current

Balance : "+b.amount);

                }

        }

        public static void main(String arg[])

        {

                GuiAccTest at=new GuiAccTest();

                at.setTitle("Bank Account Tester");

                at.setSize(600,200);

                at.setVisible(true);

        }

}

class NewWindowAdapter extends WindowAdapter

{

        public void windowClosing(WindowEvent we)

        {

                System.exit(0);

        }

}

class BankAccount

{

        int accnum;

        int amount;

        BankAccount(int num,int amt)

        {

                accnum=num;

                amount=amt;

        }

        public void deposit(int amt)

        {

                amount=amount+amt;

        }

        public void withdraw(int amt) throws FundsInsufficientException

        {

                if(amt>amount)

                        throw new

FundsInsufficientException(amount,amt);

                else

                      amount=amount-amt;

        }

}

class FundsInsufficientException extends Exception

{

        int balance;

        int withdraw_amount;

        FundsInsufficientException(int bal,int w_amt)

        {

                balance=bal;

                withdraw_amount=w_amt;

        }

        public String toString()

        {

   return "Your withdraw amount ("+withdraw_amount+")

is less than the balance ("+balance+"). No withdrawal was recorded.";

        }

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote