Lab Manual It2305

65
1. Develop a Java package with simple Stack and Queue classes. Use JavaDoc comments for documentation Queue package: package queuepackage; public class queue2 { private int maxsize; private long[] queArray; private int front; private int rear; private int nitems; public queue2(int s) { maxsize=s; queArray=new long[maxsize]; front=0; rear=-1; nitems=0; } public void insert(long j) { if(rear==maxsize-1) rear=-1; queArray[++rear]=j; nitems++; } public long remove() { long temp=queArray[front++]; if(front==maxsize) front=0; nitems--; return temp; } public long peekFront() { return queArray[front]; }

Transcript of Lab Manual It2305

Page 1: Lab Manual It2305

1. Develop a Java package with simple Stack and Queue classes. Use JavaDoc comments for documentation

Queue package:package queuepackage;public class queue2{private int maxsize;private long[] queArray;private int front;private int rear;private int nitems;public queue2(int s){maxsize=s;queArray=new long[maxsize];front=0;rear=-1;nitems=0;}public void insert(long j){if(rear==maxsize-1)rear=-1;queArray[++rear]=j;nitems++;}public long remove(){long temp=queArray[front++];if(front==maxsize)front=0;nitems--;return temp;}public long peekFront(){return queArray[front];}public boolean isEmpty(){return(nitems==0);}public boolean isFull(){return(nitems==maxsize);

Page 2: Lab Manual It2305

}public int size(){ return nitems;}}

Stack package:

package stackpackage;public class stack2{int []a;int top;public stack2(int n){a=new int[n];top=-1;}public void push(int val){if(top==a.length-1){System.out.println("stack overflow");}else{top++;a[top]=val;}}public void pop(){if(top==-1){System.out.println("stack underflow");}else{System.out.println("element popped"+a[top]);top--;}}public void display(){if(top==-1)

Page 3: Lab Manual It2305

{System.out.println("stack empty");}else{for(int i=top;i>=0;i--){System.out.println("sstack element :"+a[i]);}}}}

Main program:

import queuepackage.queue2;import stackpackage.stack2;import java.io.*;public class usestackqueue2{public static void main(String args[]){BufferedReader sc=new BufferedReader(new InputStreamReader(System.in));int c;stack2 s;int n;try{do{System.out.println("1.stack 2.queue");c=Integer.parseInt(sc.readLine());switch(c){case 1:System.out.println("enter the size of stack");n=Integer.parseInt(sc.readLine());s=new stack2(n);int choice;do{System.out.println("1.push,2.pop,3.display,0.exit,enter your choice:");choice=Integer.parseInt(sc.readLine());switch(choice){

Page 4: Lab Manual It2305

case 1:int value;System.out.println("enter the element to push:");value=Integer.parseInt(sc.readLine());s.push(value);break;case 2:s.pop();break;case 3:s.display();break;case 0:break;default:System.out.println("invalid choice");}}while(choice!=0);break;case 2: queue2 thequeue = new queue2(5); thequeue.insert(10); thequeue.insert(20); thequeue.insert(30); thequeue.insert(40); thequeue.remove(); thequeue.remove(); thequeue.remove(); thequeue.insert(50); thequeue.insert(60); thequeue.insert(70); thequeue.insert(80); while(!thequeue.isEmpty()) {  long n1= thequeue.remove();  System.out.print(n1);  System.out.print(""); }  System.out.println("");  break;}}while(c!=0);}catch(Exception e){}                }}

Page 5: Lab Manual It2305

Output:

C:\j2sdk1.4.0\bin>javac usestackqueue2.java

C:\j2sdk1.4.0\bin>java usestackqueue21.stack 2.queue1enter the size of stack51.push,2.pop,3.display,0.exit,enter your choice:1enter the element to push:11.push,2.pop,3.display,0.exit,enter your choice:1enter the element to push:21.push,2.pop,3.display,0.exit,enter your choice:1enter the element to push:31.push,2.pop,3.display,0.exit,enter your choice:3sstack element :3sstack element :2sstack element :11.push,2.pop,3.display,0.exit,enter your choice:2element popped31.push,2.pop,3.display,0.exit,enter your choice:3sstack element :2sstack element :11.push,2.pop,3.display,0.exit,enter your choice:01.stack 2.queue240506070801.stack 2.queue0

Page 6: Lab Manual It2305

Design a class for Complex numbers in Java. In addition to methods for basic operations on complex numbers, provide a method to return the number of active objects created

complex number program in java,java complex number program.   Program:import java.io.*; class complex{int a,b;public static int c;public complex(int x,int y){a=x;b=y;c++;}public static String add(complex n1,complex n2){int a1=n1.a+n2.a;int b1=n1.b+n2.b;if(b1<0)return (a1+" "+b1+"i");elsereturn (a1+" "+b1+"i");}public static String sub(complex n1,complex n2){int a1=n1.a-n2.a;int b1=n1.b-n2.b;if(b1<0)return (a1+" "+b1+"i");elsereturn (a1+" "+b1+"i");}public static String mul(complex n1,complex n2){

int a1=n1.a*n2.a;int b1=n1.b*n2.b;int v1=n1.a*n2.b;int v2=n2.a*n1.b;int vi=v1+v2;if(vi<0)return(a1-b1+" "+vi+"i");else

Page 7: Lab Manual It2305

return(a1-b1+"+"+vi+"i");}}class com{public static void main(String a[])throws IOException{BufferedReader in=new BufferedReader(new InputStreamReader(System.in));int x,y;System.out.println("enter the no for complex1:");x=Integer.parseInt(in.readLine());y=Integer.parseInt(in.readLine());System.out.println("enter the no for complex2:");int m=Integer.parseInt(in.readLine());int n=Integer.parseInt(in.readLine());complex c1=new complex(x,y);complex c2=new complex(m,n);System.out.println("addition:"+complex.add(c1,c2));System.out.println("subtraction:"+complex.sub(c1,c2));System.out.println("multiplication:"+complex.mul(c1,c2));System.out.println("count="+complex.c);}}

Output:

C:\j2sdk1.4.0\bin>javac com.java

C:\j2sdk1.4.0\bin>java comenter the no for complex1:2112enter the no for complex2:3445addition:55 57isubtraction:-13 -33imultiplication:174+1353icount=2

Page 8: Lab Manual It2305

Design a Date class similar to the one provided in the java.util package in java

user defined date package in java,java date package,user defined date package.

Program:package date;public class day{int day,month,year,y,m,tot_day=0;int day_mon[]={31,28,31,30,31,30,31,31,30,31,30,31};String week[]={"sunday","monday","tuesday","wednesday","thursday","friday","saturday"};public void days(int a,int b,int c){ valid(a,b,c);day=a;month=b;year=c;for(y=0;y<year;y++)< div="">if(y%4==0)tot_day+=366;elsetot_day+=365;if(month>2 && year%4==0)day_mon[1]=29;for(m=0;m<(month-1);m++)tot_day+=day_mon[m];tot_day+=day;System.out.println(day+"-"+month+"-"+year+"  this is :"+"="+week[(tot_day+4)%7]);}public void valid(int dd,int mm,int yy){if(yy<1){System.out.println("invalid....");System.exit(0);} switch(mm){case 1:case 3:case 5:case 7:case 8:case 10:case 12:if(dd>31 || dd<1){

Page 9: Lab Manual It2305

System.out.println("invalid......");System.exit(0);}break;case 4:case 6:case 9:case 11:if(dd>30 || dd<1){System.out.println("invalid......");System.exit(0);}break;case 2:if(yy%4!=0 && dd>=29 && dd<1){System.out.println("invalid......");System.exit(0);}else if(yy%4==0 || dd>28 || dd<1){System.out.println("invalid......");System.exit(0);}break;default:System.out.println("invalid......");System.exit(0);}}}

Main program:

import date.*;import java.io.*;class chkd{public static void main(String args[])throws IOException{DataInputStream in=new DataInputStream(System.in);day d=new day();System.out.println("enter the date:(dd mm yyyy):");int dd=Integer.parseInt(in.readLine());int mm=Integer.parseInt(in.readLine());int yy=Integer.parseInt(in.readLine());

Page 10: Lab Manual It2305

d.days(dd,mm,yy);}}

Output:

C:\j2sdk1.4.0\bin>javac chkd.javaNote: chkd.java uses or overrides a deprecated API.Note: Recompile with -deprecation for details.

C:\j2sdk1.4.0\bin>java chkdenter the date:(dd mm yyyy):3004198930-4-1989  this is :=sunday

C:\j2sdk1.4.0\bin>java chkdenter the date:(dd mm yyyy):30022000invalid......

Design a Java interface for ADT Stack. Develop two different classes that implement this interface, one using array and the other using linked-list. Provide necessary exception handling in both the implementations.

Program:

import java.io.*;

interface stackoperation

{

public void push(int i);

public void pop();

}

class Astack implements stackoperation

{

Page 11: Lab Manual It2305

int stack[];

int top;

Astack()

{

stack=new int[10];

top=0;

}

public void push(int item)

{

if(stack[top]==10)

System.out.println("overflow");

else

{

stack[++top]=item;

System.out.println("item pushed");

}

}

public void pop()

{

if(stack[top]<=0)

System.out.println("underflow");

else

{

stack[top]=top--;

System.out.println("item popped");

Page 12: Lab Manual It2305

}

}

public void display()

{

for(int i=1;i<=top;i++)

System.out.println("element:"+stack[i]);

}

}

class liststack implements stackoperation

{

node top,q;

int count;

public void push(int i)

{

node n=new node(i);

n.link=top;

top=n;

count++;

}

public void pop()

{

if(top==null)

System.out.println("under flow");

else

Page 13: Lab Manual It2305

{

int p=top.data;

top=top.link;

count--;

System.out.println("popped element:"+p);

}

}

void display()

{

for(q=top;q!=null;q=q.link)

{

System.out.println("the elements are:"+q.data);

}

}

class node

{

int data;

node link;

node(int i)

{

data=i;

link=null;

}

}

}

Page 14: Lab Manual It2305

class sample

{

public static void main(String args[])throws IOException

{

int ch,x=1,p=0,t=0;

DataInputStream in=new DataInputStream(System.in);

do

{

try

{

System.out.println("----------------------------------");

System.out.println("1.Arraystack 2.liststack 3.exit");

System.out.println("-----------------------------------");

System.out.println("enter ur choice:");

int c=Integer.parseInt(in.readLine());

Astack s=new Astack();

switch(c)

{

case 1:

do

{

if(p==1)

break;

System.out.println("ARRAY STACK");

System.out.println("1.push 2.pop 3.display 4.exit");

Page 15: Lab Manual It2305

System.out.println("enter ur choice:");

ch=Integer.parseInt(in.readLine());

switch(ch)

{

case 1:System.out.println("enter the value to push:");

int i=Integer.parseInt(in.readLine());

s.push(i);

break;

case 2:

s.pop();

break;

case 3:

System.out.println("the elements are:");

s.display();

break;

case 4:

p=1;

continue;

}

}while(x!=0);

break;

case 2:

liststack l=new liststack();

do

{

Page 16: Lab Manual It2305

if(t==1)

break;

System.out.println("LIST STACK:");

System.out.println("1.push 2.pop 3.display 4.exit");

System.out.println("enter your choice:");

ch=Integer.parseInt(in.readLine());

switch(ch)

{

case 1:

System.out.println("enter the value for push:");

int a=Integer.parseInt(in.readLine());

l.push(a);

break;

case 2:

l.pop();

break;

case 3:

l.display();

break;

case 4:

t=1;

continue;

}

}

Page 17: Lab Manual It2305

while(x!=0);

break;

case 3:

System.exit(0);

}

}

catch(IOException e)

{

System.out.println("io error");

}

}

while(x!=0);

}

}

Page 18: Lab Manual It2305

Output:

C:\j2sdk1.4.0\bin>javac sample.java

Note: sample.java uses or overrides a deprecated API.

Note: Recompile with -deprecation for details.

C:\j2sdk1.4.0\bin>java sample

----------------------------------

1.Arraystack 2.liststack 3.exit

-----------------------------------

enter ur choice:

1

ARRAY STACK

1.push 2.pop 3.display 4.exit

enter ur choice:

1

enter the value to push:

1

item pushed

ARRAY STACK

1.push 2.pop 3.display 4.exit

enter ur choice:

1

enter the value to push:

2

Page 19: Lab Manual It2305

item pushed

ARRAY STACK

1.push 2.pop 3.display 4.exit

enter ur choice:

1

enter the value to push:

3

item pushed

ARRAY STACK

1.push 2.pop 3.display 4.exit

enter ur choice:

3

the elements are:

element:1

element:2

element:3

ARRAY STACK

1.push 2.pop 3.display 4.exit

enter ur choice:

2

item popped

ARRAY STACK

1.push 2.pop 3.display 4.exit

enter ur choice:

3

Page 20: Lab Manual It2305

the elements are:

element:1

element:2

ARRAY STACK

1.push 2.pop 3.display 4.exit

enter ur choice:

4

----------------------------------

1.Arraystack 2.liststack 3.exit

-----------------------------------

enter ur choice:

2

LIST STACK:

1.push 2.pop 3.display 4.exit

enter your choice:

1

enter the value for push:

1

LIST STACK:

1.push 2.pop 3.display 4.exit

enter your choice:

1

enter the value for push:

2

LIST STACK:

Page 21: Lab Manual It2305

1.push 2.pop 3.display 4.exit

enter your choice:

1

enter the value for push:

3

LIST STACK:

1.push 2.pop 3.display 4.exit

enter your choice:

3

the elements are:3

the elements are:2

the elements are:1

LIST STACK:

1.push 2.pop 3.display 4.exit

enter your choice:

2

popped element:3

LIST STACK:

1.push 2.pop 3.display 4.exit

enter your choice:

3

the elements are:2

the elements are:1

LIST STACK:

1.push 2.pop 3.display 4.exit

Page 22: Lab Manual It2305

enter your choice:

4

----------------------------------

1.Arraystack 2.liststack 3.exit

-----------------------------------

enter ur choice:

3

Write a Java program to read a file that contains DNA sequences of arbitrary length one per line (note that each DNA sequence is just a String). Your program should sort the sequences in descending order with respect to the number of 'TATA' subsequences present. Finally write the sequences in sorted order into another file

 PROGRAM                       

import java.io.*;class files{String s[]=new String[100];String str="",m,t;int x,size=0,i,tem,j=0,chg;int a[]=new int[100];int b[]=new int[100];int c[]=new int[100];files(String s1,String s2)throws IOException{File r=new File(s1);File w=new File(s2);FileInputStream fin=new FileInputStream(r);FileOutputStream fout=new FileOutputStream(w);do{i=fin.read();if(i!=-1){str=str+(char)i;if((char)i=='\n'){s[j]=str;j++;size++;

Page 23: Lab Manual It2305

str="";}}}while(i!=-1);for(int l=0;l<size;l++)< div="">{if(s[l]==null)break;m=s[l];t="tata";b[l]=a[l]=search(m,t);}for(int p=0;p<size;p++)< div="">{for(int q=0;q<size;q++)< div="">{if(b[q]<b[q+1])< div="">{tem=b[q];b[q]=b[q+1];b[q+1]=tem;}}}for(int h=0;h<size;h++)< div="">{x=b[h];c[h]=linear(x,a,size);}for(int y=0;y<size;y++)< div="">{chg=c[y];byte buf[]=s[chg].getBytes();fout.write(buf);}}static int linear(int x,int a[],int size){int m,d,item=x,siz=size;for(d=0;d<=siz;d++){if(item==a[d]){m=d;break;

Page 24: Lab Manual It2305

}}return d;}static int search(String m,String c){int ch,ma,inc=0;String pat,main,check;pat=main=m;check=c;do{pat=main.substring(0,4);if(pat.equalsIgnoreCase(check))++inc;main=main.substring(1);ch=check.length();ma=main.length();}while(ch<ma);< div="">return inc;}}class filehand{public static void main(String a[])throws IOException{DataInputStream in=new DataInputStream(System.in);String s1,s2;System.out.println("enter the read file name :");s1=in.readLine();System.out.println("enter the write file name:");s2=in.readLine();files f=new files(s1,s2);System.out.println("successfully writed");}}

OUTPUT:

C:\j2sdk1.4.0\bin>javac filehand.javaC:\j2sdk1.4.0\bin>java filehand

enter the read file name :input.txtenter the write file name:output.txt

Page 25: Lab Manual It2305

successfully writed

“Input.txt”

jfjksdf tata fjifjksdfi tatt fg tata taata tatajfijsdf tata tjkltj tatta tata tata

“Output.txt”

jfijsdf tata tjkltj tatta tata tatafjksdfi tatt fg tata taata tatajfjksdf tata fji

Develop a simple paint-like program that can draw basic graphical primitives in different dimensions and colors. Use appropriate menu and buttons

import java.awt.*;import java.applet.*;import java.awt.event.*;public class paint extends Frame implements ActionListener{ int x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,n=5,ch=1; int xpoints[]=new int[n]; int ypoints[]=new int[n]; MenuBar mb;

Menu op,col;MenuItem l,c,r,a,po,x,br,bb,bg,fr,fb,fg;

Panel p; TextField t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; Label l1,l2,l3,l4,l5,l6,l7,l8,l9,l10; Button b;

paint(){

p=new Panel();t1=new TextField(4);t2=new TextField(4);t3=new TextField(4);t4=new TextField(4);l1=new Label("x1");l2=new Label("y1");

Page 26: Lab Manual It2305

l3=new Label("x2");l4=new Label("y2");t5=new TextField(4);t6=new TextField(4);l5=new Label("height");l6=new Label("width");t7=new TextField(4);t8=new TextField(4);t9=new TextField(4);t10=new TextField(4);l7=new Label("yaxis");l8=new Label("yaxis");l9=new Label("yaxis");l10=new Label("yaxis");b=new Button("ok");p.add(l1);p.add(t1);p.add(l2);p.add(t2);p.add(l3);p.add(t3);p.add(l4);p.add(t4);p.add(l5);p.add(t5);p.add(l6);p.add(t6);p.add(l7);p.add(t7);p.add(l8);p.add(t8);p.add(l9);p.add(t9);p.add(l10);p.add(t10);p.add(b);b.addActionListener(this);setLayout(new BorderLayout());add("South",p); mb=new MenuBar(); setMenuBar(mb);

op=new Menu("option");op.add(l=new MenuItem("Line"));op.add(c=new MenuItem("Circle"));op.add(r=new MenuItem("Rectangle"));op.add(a=new MenuItem("Arc"));

Page 27: Lab Manual It2305

op.add(po=new MenuItem("Polygon")); op.add(x=new MenuItem("exit")); col=new Menu("Color"); Menu back=new Menu("Background"); back.add(br=new MenuItem("Red")); back.add(bg=new MenuItem("Green")); back.add(bb=new MenuItem("Blue")); col.add(back); Menu fore=new Menu("Foreground"); fore.add(fr=new MenuItem("Red")); fore.add(fg=new MenuItem("Green")); fore.add(fb=new MenuItem("Blue")); col.add(fore);

mb.add(op);mb.add(col);br.addActionListener(this);bg.addActionListener(this);bb.addActionListener(this);fr.addActionListener(this);fg.addActionListener(this);fb.addActionListener(this);l.addActionListener(this);c.addActionListener(this);r.addActionListener(this);a.addActionListener(this);po.addActionListener(this);

x.addActionListener(this);addWindowListener(new WindowAdapter()

{public void windowClosing(WindowEvent e){System.exit(0);}});

}public void paint(Graphics g){

switch(ch){

case 1: g.drawLine(x1,y1,x2,y2);break;

case 2: g.drawOval(x1,y1,x2,y2);break;

case 3: g.drawRect(x1,y1,x2,y2);break;

case 4: g.drawArc(x1,y1,x2,y2,x3,y3);

Page 28: Lab Manual It2305

break;case 5: xpoints[0]=x1;

xpoints[1]=x2;xpoints[2]=x3;xpoints[3]=x4;xpoints[4]=x5;ypoints[0]=y1;ypoints[1]=y2;ypoints[2]=y3;ypoints[3]=y4;ypoints[4]=y5;g.drawPolygon(xpoints,ypoints,n);break;

}}public void actionPerformed(ActionEvent e){ String s=e.getActionCommand(); Object s1=e.getSource(); if(s1==br) setBackground(Color.red); else if(s1==bg) setBackground(Color.green); else if(s1==bb) setBackground(Color.blue); else if(s1==fr) setForeground(Color.red); else if(s1==fg) setForeground(Color.green); else if(s1==fb) setForeground(Color.blue);if(s.equals("exit"))System.exit(0);else if(s.equals("Line")){

ch=1;

}else if(s.equals("Circle"))

ch=2;else if(s.equals("Rectangle"))

ch=3;else if(s.equals("Arc")){

ch=4;

Page 29: Lab Manual It2305

}else if(s.equals("Polygon")){

ch=5;}else if(s.equals("ok")){

x1=Integer.parseInt(t1.getText());x2=Integer.parseInt(t2.getText());y1=Integer.parseInt(t3.getText());y2=Integer.parseInt(t4.getText());

x3=Integer.parseInt(t5.getText()+0);y3=Integer.parseInt(t6.getText()+0);

x4=Integer.parseInt(t7.getText()+0);y4=Integer.parseInt(t8.getText()+0);x5=Integer.parseInt(t9.getText()+0);y5=Integer.parseInt(t10.getText()+0);repaint();

}}

public static void main(String args[]){paint f=new paint();f.setSize(800,400);f.setVisible(true);}}

Output:C:\j2sdk1.4.0\bin>javac paint.javaC:\j2sdk1.4.0\bin>java paint

Develop a scientific calculator using even-driven programming paradigm of Java

scientific calculator program in java,java scientific calculator program,java calculator program.  import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;

Page 30: Lab Manual It2305

public class scientific extends JFrame implements ActionListener{JTextField jtx;double temp,temp1,result,a;static double m1,m2;int k=1,x=0,y=0,z=0;char ch;JButtonone,two,three,four,five,six,seven,eight,nine,zero,clr,pow2,pow3;JButtonplus,min,div,lg,rec,mul,eq,plmi,poin,mr,mc,mp,mm,sqrt,sin,cos,tan;Container cont;JPanel textPanel,buttonpanel;scientific(){cont=getContentPane();cont.setLayout(new BorderLayout());JPanel textpanel=new JPanel();Font font=new Font("Arial",Font.PLAIN,18);jtx=new JTextField(25);jtx.setFont(font);jtx.setHorizontalAlignment(SwingConstants.RIGHT);jtx.addKeyListener(new KeyAdapter(){public void keyTyped(KeyEvent keyevent){char c=keyevent.getKeyChar();if(c>='0' && c<='9'){}else{keyevent.consume();}}});textpanel.add(jtx);buttonpanel=new JPanel();buttonpanel.setLayout(new GridLayout(5,6));boolean t=true;

sin=new JButton("SIN");buttonpanel.add(sin);sin.addActionListener(this);mr=new JButton("MR");

Page 31: Lab Manual It2305

buttonpanel.add(mr);mr.addActionListener(this);seven=new JButton("7");buttonpanel.add(seven);seven.addActionListener(this);eight=new JButton("8");buttonpanel.add(eight);eight.addActionListener(this);nine=new JButton("9");buttonpanel.add(nine);nine.addActionListener(this);clr=new JButton("AC");buttonpanel.add(clr);clr.addActionListener(this);

cos=new JButton("COS");buttonpanel.add(cos);cos.addActionListener(this);mc=new JButton("MC");buttonpanel.add(mc);mc.addActionListener(this);four=new JButton("4");buttonpanel.add(four);four.addActionListener(this);five=new JButton("5");buttonpanel.add(five);five.addActionListener(this);six=new JButton("6");buttonpanel.add(six);six.addActionListener(this);mul=new JButton("*");buttonpanel.add(mul);mul.addActionListener(this);

tan=new JButton("TAN");buttonpanel.add(tan);tan.addActionListener(this);mp=new JButton("M+");buttonpanel.add(mp);mp.addActionListener(this);one=new JButton("1");buttonpanel.add(one);one.addActionListener(this);two=new JButton("2");buttonpanel.add(two);two.addActionListener(this);

Page 32: Lab Manual It2305

three=new JButton("3");buttonpanel.add(three);three.addActionListener(this);min=new JButton("-");buttonpanel.add(min);min.addActionListener(this);

pow2=new JButton("x^2");buttonpanel.add(pow2);pow2.addActionListener(this);mm=new JButton("M-");buttonpanel.add(mm);mm.addActionListener(this);zero=new JButton("0");buttonpanel.add(zero);zero.addActionListener(this);plmi=new JButton("+/-");buttonpanel.add(plmi);plmi.addActionListener(this);poin=new JButton(".");buttonpanel.add(poin);poin.addActionListener(this);plus=new JButton("+");buttonpanel.add(plus);plus.addActionListener(this);

pow3=new JButton("x^3");buttonpanel.add(pow3);pow3.addActionListener(this);rec=new JButton("1/x");buttonpanel.add(rec);rec.addActionListener(this);sqrt=new JButton("Sqrt");buttonpanel.add(sqrt);sqrt.addActionListener(this);lg=new JButton("log");buttonpanel.add(lg);lg.addActionListener(this);div=new JButton("/");div.addActionListener(this);buttonpanel.add(div);eq=new JButton("=");buttonpanel.add(eq);eq.addActionListener(this);

Page 33: Lab Manual It2305

cont.add("Center",buttonpanel);cont.add("North",textpanel);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}public void actionPerformed(ActionEvent e){String s=e.getActionCommand();

if(s.equals("1")){if(z==0){jtx.setText(jtx.getText()+"1");}else{jtx.setText("");jtx.setText(jtx.getText()+"1");z=0;}}if(s.equals("2")){if(z==0){jtx.setText(jtx.getText()+"2");}else{jtx.setText("");jtx.setText(jtx.getText()+"2");z=0;}}if(s.equals("3")){if(z==0){jtx.setText(jtx.getText()+"3");}else{jtx.setText("");jtx.setText(jtx.getText()+"3");z=0;}

Page 34: Lab Manual It2305

}if(s.equals("4")){if(z==0){jtx.setText(jtx.getText()+"4");}else{jtx.setText("");jtx.setText(jtx.getText()+"4");z=0;}}if(s.equals("5")){if(z==0){jtx.setText(jtx.getText()+"5");}else{jtx.setText("");jtx.setText(jtx.getText()+"5");z=0;}}if(s.equals("6")){if(z==0){jtx.setText(jtx.getText()+"6");}else{jtx.setText("");jtx.setText(jtx.getText()+"6");z=0;}}if(s.equals("7")){if(z==0){jtx.setText(jtx.getText()+"7");}

Page 35: Lab Manual It2305

else{jtx.setText("");jtx.setText(jtx.getText()+"7");z=0;}}if(s.equals("8")){if(z==0){jtx.setText(jtx.getText()+"8");}else{jtx.setText("");jtx.setText(jtx.getText()+"8");z=0;}}if(s.equals("9")){if(z==0){jtx.setText(jtx.getText()+"9");}else{jtx.setText("");jtx.setText(jtx.getText()+"9");z=0;}}if(s.equals("0")){if(z==0){jtx.setText(jtx.getText()+"0");}else{jtx.setText("");jtx.setText(jtx.getText()+"0");z=0;}}

Page 36: Lab Manual It2305

if(s.equals("AC")){jtx.setText("");x=0;y=0;z=0;}if(s.equals("log")){if(jtx.getText().equals("")){jtx.setText("");}else{a=Math.log(Double.parseDouble(jtx.getText()));jtx.setText("");jtx.setText(jtx.getText() + a);}}if(s.equals("1/x")){if(jtx.getText().equals("")){jtx.setText("");}else{a=1/Double.parseDouble(jtx.getText());jtx.setText("");jtx.setText(jtx.getText() + a);}}

if(s.equals("x^2")){if(jtx.getText().equals("")){jtx.setText("");}else{a=Math.pow(Double.parseDouble(jtx.getText()),2);jtx.setText("");jtx.setText(jtx.getText() + a);}

Page 37: Lab Manual It2305

}if(s.equals("x^3")){if(jtx.getText().equals("")){jtx.setText("");}else{a=Math.pow(Double.parseDouble(jtx.getText()),3);jtx.setText("");jtx.setText(jtx.getText() + a);}}if(s.equals("+/-")){if(x==0){jtx.setText("-"+jtx.getText());x=1;}else{jtx.setText(jtx.getText());}}if(s.equals(".")){if(y==0){jtx.setText(jtx.getText()+".");y=1;}else{jtx.setText(jtx.getText());}}if(s.equals("+")){if(jtx.getText().equals("")){jtx.setText("");temp=0;ch='+';}

Page 38: Lab Manual It2305

else{temp=Double.parseDouble(jtx.getText());jtx.setText("");ch='+';y=0;x=0;}jtx.requestFocus();}if(s.equals("-")){if(jtx.getText().equals("")){jtx.setText("");temp=0;ch='-';}else{x=0;y=0;temp=Double.parseDouble(jtx.getText());jtx.setText("");ch='-';}jtx.requestFocus();}if(s.equals("/")){if(jtx.getText().equals("")){jtx.setText("");temp=1;ch='/';}else{x=0;y=0;temp=Double.parseDouble(jtx.getText());ch='/';jtx.setText("");}jtx.requestFocus();}

Page 39: Lab Manual It2305

if(s.equals("*")){if(jtx.getText().equals("")){jtx.setText("");temp=1;ch='*';}else{x=0;y=0;temp=Double.parseDouble(jtx.getText());ch='*';jtx.setText("");}jtx.requestFocus();}if(s.equals("MC")){m1=0;jtx.setText("");}if(s.equals("MR")){jtx.setText("");jtx.setText(jtx.getText() + m1);}if(s.equals("M+")){if(k==1){m1=Double.parseDouble(jtx.getText());k++;}else{m1+=Double.parseDouble(jtx.getText());jtx.setText(""+m1);}}if(s.equals("M-")){if(k==1){m1=Double.parseDouble(jtx.getText());

Page 40: Lab Manual It2305

k++;}else{m1-=Double.parseDouble(jtx.getText());jtx.setText(""+m1);}}if(s.equals("Sqrt")){if(jtx.getText().equals("")){jtx.setText("");}else{a=Math.sqrt(Double.parseDouble(jtx.getText()));jtx.setText("");jtx.setText(jtx.getText() + a);}}if(s.equals("SIN")){if(jtx.getText().equals("")){jtx.setText("");}else{a=Math.sin(Double.parseDouble(jtx.getText()));jtx.setText("");jtx.setText(jtx.getText() + a);}}if(s.equals("COS")){if(jtx.getText().equals("")){jtx.setText("");}else{a=Math.cos(Double.parseDouble(jtx.getText()));jtx.setText("");jtx.setText(jtx.getText() + a);}

Page 41: Lab Manual It2305

}if(s.equals("TAN")){if(jtx.getText().equals("")){jtx.setText("");}else{a=Math.tan(Double.parseDouble(jtx.getText()));jtx.setText("");jtx.setText(jtx.getText() + a);}}if(s.equals("=")){if(jtx.getText().equals("")){jtx.setText("");}else{temp1 = Double.parseDouble(jtx.getText());switch(ch){case '+':result=temp+temp1;break;case '-':result=temp-temp1;break;case '/':result=temp/temp1;break;case '*':result=temp*temp1;break;}jtx.setText("");jtx.setText(jtx.getText() + result);z=1;}}jtx.requestFocus();}public static void main(String args[])

Page 42: Lab Manual It2305

{scientific n=new scientific();n.setTitle("CALCULATOR");n.setSize(370,250);n.setResizable(false);n.setVisible(true);}}

Output:

C:\j2sdk1.4.0\bin>javac scientific.javaC:\j2sdk1.4.0\bin>java scientific

Develop a template for linked-list class along with its methods in Java

link list program in java,java link list program. import java.io.*;import java.util.*;class Link{public T data;public Link nextLink;public Link(T d) {data = d;}public void printLink() {System.out.println("item:"+data);}}class LinkList{private Link first;private Link last;public LinkList() {first = null;}public boolean isEmpty() {return first == null;}public void insert(T d){Link link = new Link(d);if(first==null){

Page 43: Lab Manual It2305

link.nextLink = null;first = link;last=link;}else{last.nextLink=link;link.nextLink=null;last=link;}}public Link delete() {Link temp = first;first = first.nextLink;return temp;}public void printList() {Link currentLink = first;while(currentLink != null) {currentLink.printLink();currentLink = currentLink.nextLink;}System.out.println("");}}class template {public static void main(String[] args){int i,c=1,ch,p1=0,p2=0,p3=0;Scanner in=new Scanner(System.in);LinkList l = new LinkList();LinkList s=new LinkList();LinkList d=new LinkList();do {System.out.println("1.INTEGER 2.STRING 3.DOUBLE 4.exit");System.out.println("enter ur choice:");c=in.nextInt();switch(c){case 1:do {if(p1==1)break;System.out.println("1.insert 2.delete 3.display 4.exit");System.out.println("enter ur choice:");ch=in.nextInt();switch(ch){

Page 44: Lab Manual It2305

case 1:System.out.println("Integer list");System.out.println("enter the insert value:");i=in.nextInt();l.insert(i);break;case 2:l.delete();System.out.println("data deleted:");break;case 3:System.out.println("elements are :");l.printList();break;case 4:p1=1;continue;}}while(c!=0);break;case 2:do {if(p2==1)break;System.out.println("1.insert 2.delete 3.display 4.exit");System.out.println("enter ur choice:");ch=in.nextInt();switch(ch){case 1:System.out.println("STRING list");System.out.println("enter the insert value:");String a=in.next();s.insert(a);break;case 2:s.delete();System.out.println("data deleted:");break;case 3:System.out.println("elements are :");s.printList();break;case 4:p2=1;continue;}

Page 45: Lab Manual It2305

}while(c!=0);break;case 3:do{if(p3==1)break;System.out.println("1.insert 2.delete 3.display 4.exit");System.out.println("enter ur choice:");ch=in.nextInt();switch(ch){case 1:System.out.println("DOUBLE list");System.out.println("enter the insert value:");double x=in.nextDouble();d.insert(x);break;case 2:d.delete();System.out.println("data deleted:");break;case 3:System.out.println("elements are :");d.printList();break;case 4:p3=1;continue;}}while(c!=0);break;case 4:System.exit(0);}}while(c!=0);}}

Page 46: Lab Manual It2305

Output:

C:\jdk1.5.0\bin>java template1.INTEGER 2.STRING 3.DOUBLE 4.exitenter ur choice:11.insert 2.delete 3.display 4.exitenter ur choice:1Integer listenter the insert value:11.insert 2.delete 3.display 4.exitenter ur choice:1Integer listenter the insert value:21.insert 2.delete 3.display 4.exitenter ur choice:1Integer listenter the insert value:31.insert 2.delete 3.display 4.exit

Page 47: Lab Manual It2305

enter ur choice:3elements are :item:1item:2item:3

1.insert 2.delete 3.display 4.exitenter ur choice:2data deleted:1.insert 2.delete 3.display 4.exitenter ur choice:3elements are :item:2item:3

1.insert 2.delete 3.display 4.exitenter ur choice:41.INTEGER 2.STRING 3.DOUBLE 4.exitenter ur choice:21.insert 2.delete 3.display 4.exitenter ur choice:1STRING listenter the insert value:niren1.insert 2.delete 3.display 4.exitenter ur choice:1STRING listenter the insert value:kumar1.insert 2.delete 3.display 4.exitenter ur choice:1STRING listenter the insert value:raj1.insert 2.delete 3.display 4.exit

Page 48: Lab Manual It2305

enter ur choice:3elements are :item:nirenitem:kumaritem:raj

1.insert 2.delete 3.display 4.exitenter ur choice:2data deleted:1.insert 2.delete 3.display 4.exitenter ur choice:3elements are :item:kumaritem:raj

1.insert 2.delete 3.display 4.exitenter ur choice:41.INTEGER 2.STRING 3.DOUBLE 4.exitenter ur choice:4

Design a thread-safe implementation of Queue class. Write a multi-threaded producer-consumer application that uses this Queue class.

import java.io.*;class queue{int n;boolean v=false;synchronized int get(){if(!v)try{wait();}catch(InterruptedException e){}System.out.println("GOT:"+n);v=false;

Page 49: Lab Manual It2305

notify();return n;}synchronized void put(int n){if(v)try{wait();}catch(InterruptedException e){}this.n=n;v=true;System.out.println("put:"+n);notify();}}class prod implements Runnable{queue q;int n;prod(queue q,int n){this.q=q;this.n=n;new Thread(this,"producer").start();}public void run(){int i=1;while(i<=n){try{Thread.sleep(1000);q.put(i++);}catch(InterruptedException e){}}System.exit(0);}}class cons implements Runnable{queue q;

Page 50: Lab Manual It2305

cons(queue q){this.q=q;new Thread(this,"consumer").start();}public void run(){while(true){try{Thread.sleep(1000);q.get();}catch(InterruptedException e){}}}}class nprod{public static void main(String args[])throws IOException{DataInputStream in=new DataInputStream(System.in);System.out.println("enter the buffer size");int a=Integer.parseInt(in.readLine());queue q=new queue();new prod(q,a);new cons(q);}}

Output:

C:\j2sdk1.4.0\bin>javac nprod.javaNote: nprod.java uses or overrides a deprecated API.Note: Recompile with -deprecation for details.

C:\j2sdk1.4.0\bin>java nprodEnter the Buffer size5PUT:1GOT:1PUT:2GOT:2PUT:3GOT:3PUT:4GOT:4

Page 51: Lab Manual It2305

PUT:5GOT:5

Write a multi-threaded Java program to print all numbers below 100,000 that are both prime and fibonacci number (some examples are 2, 3, 5, 13, etc.). Design a thread that generates prime numbers below 100,000 and writes them into a pipe. Design another thread that generates fibonacci numbers and writes them to another pipe. The main thread should read both the pipes to identify numbers common to both

import java.io.*;import java.io.PipedWriter;import java.io.PipedReader;class fibonacci extends Thread{

PipedWriter fw=new PipedWriter();public PipedWriter getwrite(){

return fw;}public void run(){

super.run();fibo();

}int f(int n){

if(n<2)return n;else

return f(n-1)+f(n-2); }void fibo(){

for(int i=2,fibv=0;(fibv=f(i))<100000;i++){

try{

fw.write(fibv);}catch(IOException e){}

}}

}

Page 52: Lab Manual It2305

class receiver extends Thread{

PipedReader fibr,primer;public receiver(fibonacci fib,prime pr)throws IOException{

fibr=new PipedReader(fib.getwrite());primer=new PipedReader(pr.getwrite());

}public void run(){

int p=0,f=0;try{

p=primer.read();f=fibr.read();}catch(IOException e){}while(true){

try{

if(p==f){

System.out.println ("Match:"+p);p=primer.read();f=fibr.read();

}else if(f<p)< div="">

f=fibr.read();else

p=primer.read();}catch(IOException e){System.exit(-1);}}

}}class prime extends Thread{

PipedWriter pw=new PipedWriter();public PipedWriter getwrite(){

return pw;

Page 53: Lab Manual It2305

}public void run(){

super.run();prim();

}public void prim(){

for(int i=2;i<100000;i++){

if(isprime(i)){

try{pw.write(i);

}catch(IOException e){}

}}

}boolean isprime(int n){

boolean p=true;int s=(int)Math.sqrt(n);for(int i=2;i<=s;i++){

if(n%i==0)p=false;

}return p;

}}class fibprime{

public static void main (String[] args)throws IOException {fibonacci fi=new fibonacci();prime pri=new prime();receiver r=new receiver(fi,pri);fi.start();pri.start();r.start();

}}

Page 54: Lab Manual It2305

Output:

C:\j2sdk1.4.0\bin>javac fibprime.java

C:\j2sdk1.4.0\bin>java fibprimeMatch:2Match:3Match:5Match:13Match:89Match:233Match:1597Match:28657

IT2301 - Java Programs - Develop a application using GUI and multithreads in java

import java.awt.*;import java.awt.Graphics2D;import javax.swing.*;import java.util.*;import java.awt.event.*;class AnalogClock extends JPanel{ImageIcon img;private GregorianCalendar m_calendar;private int[] x=new int[2];private int[] y=new int[2];                                                                    private java.util.Timer clocktimer=new java.util.Timer();private TimeZone clockTimeZone=TimeZone.getDefault();public AnalogClock(){this.setPreferredSize(new Dimension(210,210));this.setMinimumSize(new Dimension(210,210));clocktimer.schedule(new TickTimerTask(),0,1000);

Page 55: Lab Manual It2305

}public void paint(Graphics g){g.setColor(Color.orange);g.fillRect(0,0,this.getWidth(),this.getHeight());drawCardinals((Graphics2D)g);drawHands((Graphics2D)g);}void clockMinutes(int startRadius,int endRadius,double theta){theta-=Math.PI/2;x[0]=(int)(getWidth()/2+startRadius*Math.cos(theta));y[0]=(int)(getHeight()/2+startRadius*Math.sin(theta));x[1]=(int)(getWidth()/2+endRadius*Math.cos(theta));y[1]=(int)(getHeight()/2+endRadius*Math.sin(theta));}void drawCardinals(Graphics2D g){g.setStroke(new BasicStroke(9));g.setColor(Color.black);for(double theta=0;theta<="" span="">{clockMinutes(100,100,theta);g.drawPolyline(x,y,2);}}public void drawHands(Graphics2D g){double h=2*Math.PI*(m_calendar.get(Calendar.HOUR));double m=2*Math.PI*(m_calendar.get(Calendar.MINUTE));double s=2*Math.PI*(m_calendar.get(Calendar.SECOND));g.setStroke(new BasicStroke(9));clockMinutes(0,55,h/12+m/(60*12));g.setColor(Color.red);g.drawPolyline(x,y,2);clockMinutes(0,70,m/60+s/(60*60));g.setColor(Color.blue);g.drawPolyline(x,y,2);clockMinutes(0,70,s/60);g.setColor(Color.black);g.drawPolyline(x,y,2);g.fillOval(getWidth()/2-8,getHeight()/2-8,16,16);}class TickTimerTask extends TimerTask{public void run()

Page 56: Lab Manual It2305

{m_calendar=(GregorianCalendar)GregorianCalendar.getInstance(clockTimeZone);repaint();}}}class Analog{public static void main(String[] args){JFrame frame = new JFrame();frame.setSize(300, 400);frame.setTitle("My Java Project Clock");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setIconImage(Toolkit.getDefaultToolkit().getImage("Clock.gif"));AnalogClock m_AnalogClock=new AnalogClock();frame.add(m_AnalogClock);frame.setVisible(true);}}

Output:

C:\jdk1.5.0\bin>javac Analog.java

C:\jdk1.5.0\bin>java Analog