KEMBAR78
Advanced Java Practical File | PDF
Q1. Write a program in java to explain the concept of “THREADING”.

Solution: -
Threads can be implemented in two ways –

   1. By Extending the THREAD class.
   2. By Implementing the RUNNABLE class.



Implementing the “Runnable” class.

CODE –

class NewThread implements Runnable
{
       Thread t;
       NewThread()
       {
              t = new Thread(this, "Demo Thread");
           System.out.println("Child thread: " + t);
           t.start();
       }
       public void run()
       {
              try
              {
                     for(int i = 5; i > 0; i--)
                     {
                            System.out.println("Child Thread: " + i);
                       Thread.sleep(500);
                     }
              }
              catch (InterruptedException e)
              {
                     System.out.println("Child interrupted.");
              }
              System.out.println("Exiting child thread.");
       }
}

class ThreadDemo
{
       public static void main(String args[])
       {
              new NewThread();                                          // create
a new thread
              try
              {
                     for(int i = 5; i > 0; i--)
                     {
                            System.out.println("Main Thread: " + i);
                       Thread.sleep(1000);
                  }
              }
              catch (InterruptedException e)
              {
                     System.out.println("Main thread interrupted.");
              }
              System.out.println("Main thread exiting.");
   }
}
OUTPUT –




Extending the “THREAD” class.

CODE –
class Share extends Thread
{
       static String msg[]={"This", "is", "a", "synchronized", "variable"};
       Share(String threadname)
       {
              super(threadname);
       }
       public void run()
       {
              display(getName());
       }
       public void display(String threadN)
       {
              synchronized(this){
              for(int i=0;i<=4;i++)
              {
                     System.out.println(threadN+msg[i]);
              }
              try
              {
                     this.sleep(1000);
              }
              catch(Exception e)
              {
              }
       }
}
}
class Sync
{
       public static void main(String[] args)
       {
              Share t1=new Share("Thread One: ");
              t1.start();
              Share t2=new Share("Thread Two: ");
              t2.start();
       }
}
OUTPUT –




Q2. Write a program in java to implement Socket Programming.

Solution: -
A Client – Server Chat Program

CODE –



CLIENT.JAVA
import java.net.*;
import java.io.*;

public class Client implements Runnable
{
       Socket s;
       BufferedReader br;
       BufferedWriter bw;
       BufferedReader ppp;
       String input = null;
       public static void main(String[] args)
       {
              new Client();
       }
       public void run()
       {
              try
              {
                     s.setSoTimeout(1);
              }
              catch(Exception e)
              {
              }
              while (true)
              {
                     try
                     {
                            System.out.println("Server: "+br.readLine());
                     }
                     catch (Exception h)
                     {
                     }
              }
       }
       public Client()
{
              try
              {
                     s = new Socket("127.0.0.1",100);
                     br = new BufferedReader(new InputStreamReader(s.getInputStream()));
                     bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
                     ppp = new BufferedReader(new InputStreamReader(System.in));
                     Thread th;
                     th = new Thread(this);
                     th.start();
                     bw.write("Hello Server");
                     bw.newLine();
                     bw.flush();
                     while(true)
                     {
                            input = ppp.readLine();
                            bw.write(input);
                            bw.newLine();
                            bw.flush();
                     }
              }
              catch(Exception e)
              {
              }
      }
}

SERVER.JAVA
import java.net.*;
import java.io.*;

public class ServerApp implements Runnable
{
       ServerSocket s;
       Socket s1;
       BufferedReader br;
       BufferedWriter bw;
       BufferedReader ppp;
       String input = null;
       public void run()
       {
              try
              {
                     s1.setSoTimeout(1);
              }
              catch(Exception e)
              {
              }
              while (true)
              {
                     try
                     {
                            System.out.println("Client: "+br.readLine());
                     }
                     catch (Exception h)
                     {
                     }
              }
       }
       public static void main(String arg[])
       {
              new ServerApp();
       }
       public ServerApp()
{
               try
               {
                     s = new ServerSocket(100);
                     s1=s.accept();
                     br = new BufferedReader(new InputStreamReader(s1.getInputStream()));
                     bw = new BufferedWriter(new OutputStreamWriter(s1.getOutputStream()));
                     ppp = new BufferedReader(new InputStreamReader(System.in));
                     Thread th;
                     th = new Thread(this);
                     th.start();
                     while(true)
                     {
                            input = ppp.readLine();
                            bw.write(input);
                            bw.newLine();
                            bw.flush();
                     }
               }
               catch(Exception e)
               {
               }
         }
}

OUTPUT –




Q3. Write a program in java for Sending E-Mails.

Solution: -
import   java.util.Date;
import   java.util.Properties;
import   javax.mail.Message;
import   javax.mail.Session;
import   javax.mail.Transport;
import   javax.mail.internet.MimeMessage;
public class Gmail
{
       public static   void main(String ss[])
       {
              String   host = "smtp.gmail.com";
              String   username = "somgaj";
              String   password = "qwaszx,.12/3";
              try
              {
                       Properties props = new Properties();
                       props.put("mail.smtps.auth", "true");
                       props.put("mail.from","somgaj@gmail.com");
                       Session session = Session.getInstance(props, null);
                       Transport t = session.getTransport("smtps");
                       t.connect(host, username, password);
                       MimeMessage msg = new MimeMessage(session);
                       msg.setFrom();
                       msg.setRecipients(Message.RecipientType.TO, "somgaj@gmail.com");
                       msg.setSubject("Hello Soumya!!");
                       msg.setSentDate(new Date());
                       msg.setText("Hi! FROM JAVA....If you recieve this, it is a success....");
                       t.sendMessage(msg, msg.getAllRecipients());
             }
             catch(Exception ee)
             {
                    System.out.println(ee.toString());
             }
      }
}

OUTPUT –
Q4. Write a program in java for Implementing Calculator in an Applet.

Solution: -


CODE –

CAL.JAVA

import java.awt.*;
import java.awt.event.*;
import java.applet.*;

class Cal extends Applet implements ActionListener
{
       String msg=" ";
       int v1,v2,result;
       TextField t1;
       Button b[]=new Button[10];
       Button add,sub,mul,div,clear,mod,EQ;
       char OP;
       public void init()
       {
              Color k=new Color(120,89,90);
              setBackground(k);
              t1=new TextField(10);
              GridLayout gl=new GridLayout(4,5);
              setLayout(gl);
              for(int i=0;i<10;i++)
              {
                     b[i]=new Button(""+i);
              }
              ad=new Button("add");
              sub=new Button("sub");
              mul=new Button("mul");
              div=new Button("div");
              mod=new Button("mod");
              clear=new Button("clear");
              EQ=new Button("EQ");
              t1.addActionListener(this);
              add(t1);
              for(int i=0;i<10;i++)
              {
                     add(b[i]);
              }
              add(ad);
              add(sub);
              add(mul);
              add(div);
              add(mod);
              add(clear);
              add(EQ);
              for(int i=0;i<10;i++)
              {
                     b[i].addActionListener(this);
              }
              ad.addActionListener(this);
              sub.addActionListener(this);
              mul.addActionListener(this);
              div.addActionListener(this);
              mod.addActionListener(this);
              clear.addActionListener(this);
              EQ.addActionListener(this);
       }
public void actionPerformed(ActionEvent ae)
    {
           String str=ae.getActionCommand();
           char ch=str.charAt(0);
           if ( Character.isDigit(ch))
           t1.setText(t1.getText()+str);
           else
           if(str.equals("ad"))
           {
                  v1=Integer.parseInt(t1.getText());
                  OP='+';
                  t1.setText("");
           }
           else if(str.equals("sub"))
           {
                  v1=Integer.parseInt(t1.getText());
                  OP='-';
                  t1.setText("");
           }
           else if(str.equals("mul"))
           {
                  v1=Integer.parseInt(t1.getText());
                  OP='*';
                  t1.setText("");
           }
           else if(str.equals("div"))
           {
                  v1=Integer.parseInt(t1.getText());
                  OP='/';
                  t1.setText("");
           }
           else if(str.equals("mod"))
           {
                  v1=Integer.parseInt(t1.getText());
                  OP='%';
                  t1.setText("");
           }
           if(str.equals("EQ"))
           {
                  v2=Integer.parseInt(t1.getText());
                  if(OP=='+')
                         result=v1+v2;
                  else if(OP=='-')
                         result=v1-v2;
                  else if(OP=='*')
                         result=v1*v2;
                  else if(OP=='/')
                         result=v1/v2;
                  else if(OP=='%')
                         result=v1%v2;
                  t1.setText(""+result);
           }
           if(str.equals("clear"))
           {
                  t1.setText("");
           }
    }
}
CALCULATOR.HTML

<html>

<applet code=Cal.class height=500 width=400>

</applet>

</HTML>



OUTPUT –
Q6. Write a program in java for Implementing RMI.

Solution: -
An applet using RMI implementing a calculator.



CODE –

CLIENT.JAVA

import   java.rmi.*;
import   java.rmi.registry.*;
import   java.awt.*;
import   java.awt.event.*;

class mathClient extends Frame implements ActionListener
{
       Button B1=new Button("Sum");
       Button B2=new Button("Subtract");
       Button B3=new Button("Multiply");
       Button B4=new Button("Divide");
       Label l1=new Label("Number 1");
       Label l2=new Label("Number 2");
       Label l3=new Label("Result");
       TextField t1=new TextField(20);
       TextField t2=new TextField(20);
       TextField t3=new TextField(20);
       public mathClient()
       {
              super("Calculator");
              setLayout(null);
              l1.setBounds(20,50,55,25);
              add(l1);
              l2.setBounds(20,100,55,25);
              add(l2);
              l3.setBounds(20,150,55,25);
              add(l3);
              t1.setBounds(150,50,100,25);
              add(t1);
              t2.setBounds(150,100,100,25);
              add(t2);
              t3.setBounds(150,150,100,25);
              add(t3);
              B1.setBounds(20,200,80,25);
              add(B1);
              B2.setBounds(100,200,80,25);
              add(B2);
              B3.setBounds(180,200,80,25);
              add(B3);
              B4.setBounds(260,200,80,25);
              add(B4);
              B1.addActionListener(this);
              B2.addActionListener(this);
              B3.addActionListener(this);
              B4.addActionListener(this);
              addWindowListener(
                     new WindowAdapter()
                     {
                            public void windowClosing(WindowEvent e)
                            {
                                   System.exit(0);
                            }
                     }
);
   }
public void actionPerformed(ActionEvent AE)
{
   if(AE.getSource()==B1)
          {
          sum();
          }
          else if(AE.getSource()==B2)
          {
                 subt();
          }
          else if(AE.getSource()==B3)
          {
                 mult();
          }
          else if(AE.getSource()==B4)
          {
                 div();
          }
   }
public void sum()
{
   int i=Integer.parseInt(t1.getText());
   int j=Integer.parseInt(t2.getText());
   int val;
   try
   {
          String ServerURL="MathServ";
          mathInterface MI=(mathInterface)Naming.lookup(ServerURL);
          val=MI.add(i,j);
          t3.setText(""+val);
          }
   catch(Exception ex)
   {
          System.out.println("Exception:"+ex);
          }
   }
public void subt()
{
   int i=Integer.parseInt(t1.getText());
   int j=Integer.parseInt(t2.getText());
   int val;
   try
   {
          String ServerURL="MathServ";
          mathInterface MI=(mathInterface)Naming.lookup(ServerURL);
          val=MI.subt(i,j);
          t3.setText(""+val);
          }
   catch(Exception ex)
   {
          System.out.println("Exception:"+ex);
          }
   }
public void mult()
{
   int i=Integer.parseInt(t1.getText());
   int j=Integer.parseInt(t2.getText());
   int val;
   try
   {
          String ServerURL="MathServ";
          mathInterface MI=(mathInterface)Naming.lookup(ServerURL);
          val=MI.mult(i,j);
t3.setText(""+val);
              }
       catch(Exception ex)
       {
              System.out.println("Exception:"+ex);
              }
       }
    public void div()
    {
       int i=Integer.parseInt(t1.getText());
       int j=Integer.parseInt(t2.getText());
       int val;
       try
       {
              String ServerURL="MathServ";
              mathInterface MI=(mathInterface)Naming.lookup(ServerURL);
              val=MI.div(i,j);
              t3.setText(""+val);
              }
       catch(Exception ex)
       {
              System.out.println("Exception:"+ex);
              }
       }
    public static void main(String args[])
    {
       mathClient MC=new mathClient();
       MC.setVisible(true);
       MC.setSize(600,500);
       };
}

SERVER.JAVA

import java.rmi.*;
import java.rmi.Naming.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import java.net.*;
import java.util.*;
interface mathInterface extends Remote
{
       public int add(int a,int b) throws RemoteException;
       public int subt(int a,int b) throws RemoteException;
       public int mult(int a,int b) throws RemoteException;
       public int div(int a,int b) throws RemoteException;
}
class mathServer extends UnicastRemoteObject implements mathInterface
{
       public mathServer() throws RemoteException
       {
              System.out.println("Initializing Server");
    }
    public int add(int a,int b)
    {
              return(a+b);
       }
       public int subt(int a,int b)
       {
              return(a-b);
       }
       public int mult(int a,int b)
       {
              return(a*b);
       }
public int div(int a,int b)
         {
                return(a/b);
         }
         public static void main(String args[])
         {
                try
                {
                       mathServer ms=new mathServer();
                       java.rmi.Naming.rebind("MathServ",ms);
                       System.out.println("Server Ready");
             }
             catch(RemoteException RE)
             {
                       System.out.println("Remote Server Error:"+ RE.getMessage());
                       System.exit(0);
                }
                catch(MalformedURLException ME)
                {
                       System.out.println("Invalid URL!!");
                }
         }
}

OUTPUT –




Q7. Write a program in java for reading a file from a designated URL.

Solution: -
I have used my drop-box account for accessing a file stored in my DROPBOX server.



CODE –

import java.io.BufferedInputStream;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.Reader;
import java.net.URL;

class MainClass {

    public static void main(String[] args) throws Exception {

        URL u = new URL("https://dl.dropbox.com/u/94684259/Rajat.txt");

        InputStream in = u.openStream();

        in = new BufferedInputStream(in);

        Reader r = new InputStreamReader(in);

        int c;

        while ((c = r.read()) != -1) {

            System.out.print((char) c);

        }

    }

}

OUTPUT –




Q8. Write a program in java implementing File input output functions.

Solution: -
CODE –

import java.io.*;
public class CopyFile
{
       private static void copyfile(String srFile, String dtFile)
       {
              try
              {
                    File f1 = new File(srFile);
                    File f2 = new File(dtFile);
InputStream in = new FileInputStream(f1);
                      OutputStream out = new FileOutputStream(f2);
                      byte[] buf = new byte[1024];
                      int len;
                      while ((len = in.read(buf)) > 0)
                      {
                             out.write(buf, 0, len);
                      }
                      in.close();
                      out.close();
                      System.out.println("File copied.");
               }
               catch(FileNotFoundException ex)
               {
                      System.out.println(ex.getMessage() + " in the specified directory.");
                      System.exit(0);
               }
               catch(IOException e)
               {
                      System.out.println(e.getMessage());
               }
         }
         public static void main(String[] args)
         {
                switch(args.length)
                {
                       case 0: System.out.println("File has not mentioned.");
                                    System.exit(0);
                       case 1: System.out.println("Destination file has not mentioned.");
                                    System.exit(0);
                       case 2: copyfile(args[0],args[1]);
                                    System.exit(0);
                       default : System.out.println("Multiple files are not allow.");
                                      System.exit(0);
                }
         }
}

OUTPUT –




Q9. Write a program in java implementing Java Beans.

Solution: -

Implementing a counter with JSP on a server for counting number of website views.


CODE –

COUNTERBEAN.JAVA
package form;
public class CounterBean implements java.io.Serializable
{
       int coun = 0;
public CounterBean()
          {
          }
          public int getCoun()
          {
                 coun++;
                 return this.coun;
          }
          public void setCoun(int coun)
          {
                 this.coun = coun;
          }
}

COUNTER.JSP

<%@ page language="java" %>

<jsp:useBean id="counter" scope="session" class="form.CounterBean" />

<HTML>

<HEAD><TITLE>Use Bean Counter Example</TITLE>

</HEAD>

<BODY>

<table><tr><td><b>The current count for the counter bean is: </b>

    <%=counter.getCoun() %></td></tr>

</table

</BODY>

</HTML>

OUTPUT –
Q10. Write a program in java implementing Swings.

Solution: -
CODE –

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.html.*;
public class bar
{
    final static int interval = 1000;
       int i;
       JLabel label;
    JProgressBar pb;
    Timer timer;
    JButton button;
    public bar()
    {
              JFrame frame = new JFrame("Progress Bar :: By - Rajat Suneja");
        button = new JButton("Start");
        button.addActionListener(new ButtonListener());
              pb = new JProgressBar(0, 20);
        pb.setValue(0);
        pb.setStringPainted(true);
              label = new JLabel("Rajat Suneja");
              JPanel panel = new JPanel();
        panel.add(button);
        panel.add(pb);
        JPanel panel1 = new JPanel();
        panel1.setLayout(new BorderLayout());
        panel1.add(panel, BorderLayout.NORTH);
              panel1.add(label, BorderLayout.CENTER);
        panel1.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
        frame.setContentPane(panel1);
        frame.pack();
        frame.setVisible(true);
              frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        timer = new Timer(interval, new ActionListener()
        {
            public void actionPerformed(ActionEvent evt)
            {
                           if (i == 20)
                           {
Toolkit.getDefaultToolkit().beep();
                                 timer.stop();
                                 button.setEnabled(true);
                                 pb.setValue(0);
                                 String str = "<html>" + "<font color="#FF0000">" + "<b>" +
"Downloading completed." + "</b>" + "</font>" + "</html>";
                                 label.setText(str);
                          }
                          i = i + 1;
                pb.setValue(i);
            }
        });
    }

    class ButtonListener implements ActionListener
    {
        public void actionPerformed(ActionEvent ae)
        {
            button.setEnabled(false);
                    i = 0;
                    String str = "<html>" + "<font color="#008000">" + "<b>" + "Downloading
is in process......." + "</b>" + "</font>" + "</html>";
                    label.setText(str);
            timer.start();
        }
    }
    public static void main(String[] args)
    {
        bar spb = new bar();
    }
}

OUTPUT -

Advanced Java Practical File

  • 1.
    Q1. Write aprogram in java to explain the concept of “THREADING”. Solution: - Threads can be implemented in two ways – 1. By Extending the THREAD class. 2. By Implementing the RUNNABLE class. Implementing the “Runnable” class. CODE – class NewThread implements Runnable { Thread t; NewThread() { t = new Thread(this, "Demo Thread"); System.out.println("Child thread: " + t); t.start(); } public void run() { try { for(int i = 5; i > 0; i--) { System.out.println("Child Thread: " + i); Thread.sleep(500); } } catch (InterruptedException e) { System.out.println("Child interrupted."); } System.out.println("Exiting child thread."); } } class ThreadDemo { public static void main(String args[]) { new NewThread(); // create a new thread try { for(int i = 5; i > 0; i--) { System.out.println("Main Thread: " + i); Thread.sleep(1000); } } catch (InterruptedException e) { System.out.println("Main thread interrupted."); } System.out.println("Main thread exiting."); } }
  • 2.
    OUTPUT – Extending the“THREAD” class. CODE – class Share extends Thread { static String msg[]={"This", "is", "a", "synchronized", "variable"}; Share(String threadname) { super(threadname); } public void run() { display(getName()); } public void display(String threadN) { synchronized(this){ for(int i=0;i<=4;i++) { System.out.println(threadN+msg[i]); } try { this.sleep(1000); } catch(Exception e) { } } } } class Sync { public static void main(String[] args) { Share t1=new Share("Thread One: "); t1.start(); Share t2=new Share("Thread Two: "); t2.start(); } }
  • 3.
    OUTPUT – Q2. Writea program in java to implement Socket Programming. Solution: - A Client – Server Chat Program CODE – CLIENT.JAVA import java.net.*; import java.io.*; public class Client implements Runnable { Socket s; BufferedReader br; BufferedWriter bw; BufferedReader ppp; String input = null; public static void main(String[] args) { new Client(); } public void run() { try { s.setSoTimeout(1); } catch(Exception e) { } while (true) { try { System.out.println("Server: "+br.readLine()); } catch (Exception h) { } } } public Client()
  • 4.
    { try { s = new Socket("127.0.0.1",100); br = new BufferedReader(new InputStreamReader(s.getInputStream())); bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); ppp = new BufferedReader(new InputStreamReader(System.in)); Thread th; th = new Thread(this); th.start(); bw.write("Hello Server"); bw.newLine(); bw.flush(); while(true) { input = ppp.readLine(); bw.write(input); bw.newLine(); bw.flush(); } } catch(Exception e) { } } } SERVER.JAVA import java.net.*; import java.io.*; public class ServerApp implements Runnable { ServerSocket s; Socket s1; BufferedReader br; BufferedWriter bw; BufferedReader ppp; String input = null; public void run() { try { s1.setSoTimeout(1); } catch(Exception e) { } while (true) { try { System.out.println("Client: "+br.readLine()); } catch (Exception h) { } } } public static void main(String arg[]) { new ServerApp(); } public ServerApp()
  • 5.
    { try { s = new ServerSocket(100); s1=s.accept(); br = new BufferedReader(new InputStreamReader(s1.getInputStream())); bw = new BufferedWriter(new OutputStreamWriter(s1.getOutputStream())); ppp = new BufferedReader(new InputStreamReader(System.in)); Thread th; th = new Thread(this); th.start(); while(true) { input = ppp.readLine(); bw.write(input); bw.newLine(); bw.flush(); } } catch(Exception e) { } } } OUTPUT – Q3. Write a program in java for Sending E-Mails. Solution: - import java.util.Date; import java.util.Properties; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.MimeMessage;
  • 6.
    public class Gmail { public static void main(String ss[]) { String host = "smtp.gmail.com"; String username = "somgaj"; String password = "qwaszx,.12/3"; try { Properties props = new Properties(); props.put("mail.smtps.auth", "true"); props.put("mail.from","somgaj@gmail.com"); Session session = Session.getInstance(props, null); Transport t = session.getTransport("smtps"); t.connect(host, username, password); MimeMessage msg = new MimeMessage(session); msg.setFrom(); msg.setRecipients(Message.RecipientType.TO, "somgaj@gmail.com"); msg.setSubject("Hello Soumya!!"); msg.setSentDate(new Date()); msg.setText("Hi! FROM JAVA....If you recieve this, it is a success...."); t.sendMessage(msg, msg.getAllRecipients()); } catch(Exception ee) { System.out.println(ee.toString()); } } } OUTPUT –
  • 7.
    Q4. Write aprogram in java for Implementing Calculator in an Applet. Solution: - CODE – CAL.JAVA import java.awt.*; import java.awt.event.*; import java.applet.*; class Cal extends Applet implements ActionListener { String msg=" "; int v1,v2,result; TextField t1; Button b[]=new Button[10]; Button add,sub,mul,div,clear,mod,EQ; char OP; public void init() { Color k=new Color(120,89,90); setBackground(k); t1=new TextField(10); GridLayout gl=new GridLayout(4,5); setLayout(gl); for(int i=0;i<10;i++) { b[i]=new Button(""+i); } ad=new Button("add"); sub=new Button("sub"); mul=new Button("mul"); div=new Button("div"); mod=new Button("mod"); clear=new Button("clear"); EQ=new Button("EQ"); t1.addActionListener(this); add(t1); for(int i=0;i<10;i++) { add(b[i]); } add(ad); add(sub); add(mul); add(div); add(mod); add(clear); add(EQ); for(int i=0;i<10;i++) { b[i].addActionListener(this); } ad.addActionListener(this); sub.addActionListener(this); mul.addActionListener(this); div.addActionListener(this); mod.addActionListener(this); clear.addActionListener(this); EQ.addActionListener(this); }
  • 8.
    public void actionPerformed(ActionEventae) { String str=ae.getActionCommand(); char ch=str.charAt(0); if ( Character.isDigit(ch)) t1.setText(t1.getText()+str); else if(str.equals("ad")) { v1=Integer.parseInt(t1.getText()); OP='+'; t1.setText(""); } else if(str.equals("sub")) { v1=Integer.parseInt(t1.getText()); OP='-'; t1.setText(""); } else if(str.equals("mul")) { v1=Integer.parseInt(t1.getText()); OP='*'; t1.setText(""); } else if(str.equals("div")) { v1=Integer.parseInt(t1.getText()); OP='/'; t1.setText(""); } else if(str.equals("mod")) { v1=Integer.parseInt(t1.getText()); OP='%'; t1.setText(""); } if(str.equals("EQ")) { v2=Integer.parseInt(t1.getText()); if(OP=='+') result=v1+v2; else if(OP=='-') result=v1-v2; else if(OP=='*') result=v1*v2; else if(OP=='/') result=v1/v2; else if(OP=='%') result=v1%v2; t1.setText(""+result); } if(str.equals("clear")) { t1.setText(""); } } }
  • 9.
    CALCULATOR.HTML <html> <applet code=Cal.class height=500width=400> </applet> </HTML> OUTPUT –
  • 10.
    Q6. Write aprogram in java for Implementing RMI. Solution: - An applet using RMI implementing a calculator. CODE – CLIENT.JAVA import java.rmi.*; import java.rmi.registry.*; import java.awt.*; import java.awt.event.*; class mathClient extends Frame implements ActionListener { Button B1=new Button("Sum"); Button B2=new Button("Subtract"); Button B3=new Button("Multiply"); Button B4=new Button("Divide"); Label l1=new Label("Number 1"); Label l2=new Label("Number 2"); Label l3=new Label("Result"); TextField t1=new TextField(20); TextField t2=new TextField(20); TextField t3=new TextField(20); public mathClient() { super("Calculator"); setLayout(null); l1.setBounds(20,50,55,25); add(l1); l2.setBounds(20,100,55,25); add(l2); l3.setBounds(20,150,55,25); add(l3); t1.setBounds(150,50,100,25); add(t1); t2.setBounds(150,100,100,25); add(t2); t3.setBounds(150,150,100,25); add(t3); B1.setBounds(20,200,80,25); add(B1); B2.setBounds(100,200,80,25); add(B2); B3.setBounds(180,200,80,25); add(B3); B4.setBounds(260,200,80,25); add(B4); B1.addActionListener(this); B2.addActionListener(this); B3.addActionListener(this); B4.addActionListener(this); addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }
  • 11.
    ); } public void actionPerformed(ActionEvent AE) { if(AE.getSource()==B1) { sum(); } else if(AE.getSource()==B2) { subt(); } else if(AE.getSource()==B3) { mult(); } else if(AE.getSource()==B4) { div(); } } public void sum() { int i=Integer.parseInt(t1.getText()); int j=Integer.parseInt(t2.getText()); int val; try { String ServerURL="MathServ"; mathInterface MI=(mathInterface)Naming.lookup(ServerURL); val=MI.add(i,j); t3.setText(""+val); } catch(Exception ex) { System.out.println("Exception:"+ex); } } public void subt() { int i=Integer.parseInt(t1.getText()); int j=Integer.parseInt(t2.getText()); int val; try { String ServerURL="MathServ"; mathInterface MI=(mathInterface)Naming.lookup(ServerURL); val=MI.subt(i,j); t3.setText(""+val); } catch(Exception ex) { System.out.println("Exception:"+ex); } } public void mult() { int i=Integer.parseInt(t1.getText()); int j=Integer.parseInt(t2.getText()); int val; try { String ServerURL="MathServ"; mathInterface MI=(mathInterface)Naming.lookup(ServerURL); val=MI.mult(i,j);
  • 12.
    t3.setText(""+val); } catch(Exception ex) { System.out.println("Exception:"+ex); } } public void div() { int i=Integer.parseInt(t1.getText()); int j=Integer.parseInt(t2.getText()); int val; try { String ServerURL="MathServ"; mathInterface MI=(mathInterface)Naming.lookup(ServerURL); val=MI.div(i,j); t3.setText(""+val); } catch(Exception ex) { System.out.println("Exception:"+ex); } } public static void main(String args[]) { mathClient MC=new mathClient(); MC.setVisible(true); MC.setSize(600,500); }; } SERVER.JAVA import java.rmi.*; import java.rmi.Naming.*; import java.rmi.server.*; import java.rmi.registry.*; import java.net.*; import java.util.*; interface mathInterface extends Remote { public int add(int a,int b) throws RemoteException; public int subt(int a,int b) throws RemoteException; public int mult(int a,int b) throws RemoteException; public int div(int a,int b) throws RemoteException; } class mathServer extends UnicastRemoteObject implements mathInterface { public mathServer() throws RemoteException { System.out.println("Initializing Server"); } public int add(int a,int b) { return(a+b); } public int subt(int a,int b) { return(a-b); } public int mult(int a,int b) { return(a*b); }
  • 13.
    public int div(inta,int b) { return(a/b); } public static void main(String args[]) { try { mathServer ms=new mathServer(); java.rmi.Naming.rebind("MathServ",ms); System.out.println("Server Ready"); } catch(RemoteException RE) { System.out.println("Remote Server Error:"+ RE.getMessage()); System.exit(0); } catch(MalformedURLException ME) { System.out.println("Invalid URL!!"); } } } OUTPUT – Q7. Write a program in java for reading a file from a designated URL. Solution: - I have used my drop-box account for accessing a file stored in my DROPBOX server. CODE – import java.io.BufferedInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader;
  • 14.
    import java.net.URL; class MainClass{ public static void main(String[] args) throws Exception { URL u = new URL("https://dl.dropbox.com/u/94684259/Rajat.txt"); InputStream in = u.openStream(); in = new BufferedInputStream(in); Reader r = new InputStreamReader(in); int c; while ((c = r.read()) != -1) { System.out.print((char) c); } } } OUTPUT – Q8. Write a program in java implementing File input output functions. Solution: - CODE – import java.io.*; public class CopyFile { private static void copyfile(String srFile, String dtFile) { try { File f1 = new File(srFile); File f2 = new File(dtFile);
  • 15.
    InputStream in =new FileInputStream(f1); OutputStream out = new FileOutputStream(f2); byte[] buf = new byte[1024]; int len; while ((len = in.read(buf)) > 0) { out.write(buf, 0, len); } in.close(); out.close(); System.out.println("File copied."); } catch(FileNotFoundException ex) { System.out.println(ex.getMessage() + " in the specified directory."); System.exit(0); } catch(IOException e) { System.out.println(e.getMessage()); } } public static void main(String[] args) { switch(args.length) { case 0: System.out.println("File has not mentioned."); System.exit(0); case 1: System.out.println("Destination file has not mentioned."); System.exit(0); case 2: copyfile(args[0],args[1]); System.exit(0); default : System.out.println("Multiple files are not allow."); System.exit(0); } } } OUTPUT – Q9. Write a program in java implementing Java Beans. Solution: - Implementing a counter with JSP on a server for counting number of website views. CODE – COUNTERBEAN.JAVA package form; public class CounterBean implements java.io.Serializable { int coun = 0;
  • 16.
    public CounterBean() { } public int getCoun() { coun++; return this.coun; } public void setCoun(int coun) { this.coun = coun; } } COUNTER.JSP <%@ page language="java" %> <jsp:useBean id="counter" scope="session" class="form.CounterBean" /> <HTML> <HEAD><TITLE>Use Bean Counter Example</TITLE> </HEAD> <BODY> <table><tr><td><b>The current count for the counter bean is: </b> <%=counter.getCoun() %></td></tr> </table </BODY> </HTML> OUTPUT –
  • 17.
    Q10. Write aprogram in java implementing Swings. Solution: - CODE – import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.text.html.*; public class bar { final static int interval = 1000; int i; JLabel label; JProgressBar pb; Timer timer; JButton button; public bar() { JFrame frame = new JFrame("Progress Bar :: By - Rajat Suneja"); button = new JButton("Start"); button.addActionListener(new ButtonListener()); pb = new JProgressBar(0, 20); pb.setValue(0); pb.setStringPainted(true); label = new JLabel("Rajat Suneja"); JPanel panel = new JPanel(); panel.add(button); panel.add(pb); JPanel panel1 = new JPanel(); panel1.setLayout(new BorderLayout()); panel1.add(panel, BorderLayout.NORTH); panel1.add(label, BorderLayout.CENTER); panel1.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); frame.setContentPane(panel1); frame.pack(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); timer = new Timer(interval, new ActionListener() { public void actionPerformed(ActionEvent evt) { if (i == 20) {
  • 18.
    Toolkit.getDefaultToolkit().beep(); timer.stop(); button.setEnabled(true); pb.setValue(0); String str = "<html>" + "<font color="#FF0000">" + "<b>" + "Downloading completed." + "</b>" + "</font>" + "</html>"; label.setText(str); } i = i + 1; pb.setValue(i); } }); } class ButtonListener implements ActionListener { public void actionPerformed(ActionEvent ae) { button.setEnabled(false); i = 0; String str = "<html>" + "<font color="#008000">" + "<b>" + "Downloading is in process......." + "</b>" + "</font>" + "</html>"; label.setText(str); timer.start(); } } public static void main(String[] args) { bar spb = new bar(); } } OUTPUT -