Skip to main content

Q) Develop a multithread application that allows to current withdrawals?



A)
class bankAccount
{
       int accno;
       float balance;
       bankAccount( int accno, float balance)
       {
              this.accno=accno;
              this.balance=balance;
       }
       void setbalance(float balance)
       {
              this.balance=balance;
       }
       float getbalance()
       {
              return this.balance;
       }
       void withdraw(float amount)
       {
              System.out.println("trying to withdraw RS:"+amount +"from A/C"+accno);
              System.out.println("try to get the balance info from A/c"+accno);
              for(int i=1;i<20;i++)
                     System.out.println(i);
              float bal=getbalance();
              System.out.println("balance in the A/c"+accno+"is Rs."+bal);
              if(bal>amount)
              {
                     bal=bal-amount;
                     setbalance(bal);
                     System.out.println("please collect Rs: "+amount);
                     System.out.println("balance of A/c"+accno+"ipdate to Rs:"+bal);
              }
              else
              {
                     System.out.println("insufficient funds");
              }
       }
}

class accountthread extends Thread
{
       bankAccount acc;
       float amt;
       accountthread(bankAccount acc, float amt)
       {
              this.acc=acc;
              this.amt=amt;
       }
       public void run()
       {
              acc.withdraw(amt);
       }
}

classmultithreadbankingapplication {

       public static void main(String[] args) throws Exception {
              bankAccount a1= newbankAccount(1001,3000);
              bankAccount a2= newbankAccount(1002,9000);
              accountthread t1= newaccountthread(a1,3000);
              accountthread t2=newaccountthread(a2,5000);
              t1.start();
              t2.start();
              t1.join();
              t2.join();
              System.out.println("final balance in the 1st account Rs"+a1.getbalance());
              System.out.println("final balance in the 2nd account"+a2.getbalance());
       }
}

Comments

Popular posts from this blog

Q) Explain repeated deletion of records.

A) //RepeatedDeletion.java import java.util.Scanner; import java.sql.*; class RepeatedDeletion {        public static void main(String[] args) {               Connection con= DriverManager. getConnection ( "jdbc:odbc:prince" , "scott" , "tiger" );               PreparedStatement ps=con.PreparedStatement( "DELETE FROM ACCOUNT WHERE ACCNO=?" );               Scanner s= new Scanner(System. in );               while ( true )               {                      System. out .println( "Enter accno : " );      ...

Q) Retrieving data from database?

A)   ->to retrieve the data from database we need to submit SELECT statement from JDBC application. -> executeQuery() method of statement object is used for this purpose. This method has the fallowing ResultSet executeQuery(String sql) throws SQLException Ex: ResultSet rs = st.executeQuery(“SELECT * FROM ACCOUNT”); ->objectoriented representation of tables formate data is called ResultSet object. Ao the driver created one object i.e. ResultSet object. ->object orientation representation of a table of records returned from db is nothing but “ ResultSet ” object.  

Q) What is the purpose of JDBC?

A) -> Java application can do any task by making a method (function) call. ->java method calls are not understandable to database management system. They can understand only SQL statements. ->SQL statements can’t be directly used in a java application. Java compiler complains. ->therefore, we say that java environment and database environment are heterogeneous to each other. Purpose of JDBC: ->for any kind of java application to communicate with any kind of database (management system) in a standard manner, JDBC is used.