Sei sulla pagina 1di 45

SARADA INSTITUTE OF TECHOLOGY & SCIENCE

SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM

DEPARTMENT OF
COMPUTER SCIENCE ENGINEERING
&
INFORMATION TECHNOLOGY

OBJECT ORIENTED PROGRAMMING


LAB MANUAL

PREPARED BY:
L. CHANDRA SEKHAR
Asst. Professor.(Dept of CSE)
OBJECT ORIENTED PROGRAMMING LAB Page 2 of 45
INDEX
Week1 :
a) Write a Java program that prints all real solutions to the quadratic equation ax2 + bx + c = 0. Read in a, b, c and
use the quadratic formula. If the discriminant b2 -4ac is negative, display a message stating that there are no real
solutions.
b) The Fibonacci sequence is defined by the following rule:
The fist two values in the sequence are 1 and 1. Every subsequent value is the sum of the two values preceding it.
Write a Java program that uses both recursive and non recursive functions to print the nth value in the Fibonacci
sequence.

Week 2 :
a) Write a Java program that prompts the user for an integer and then prints out all prime numbers up to that integer.
b) Write a Java program to multiply two given matrices.
c) Write a Java Program that reads a line of integers, and then displays each integer, and the sum of all the integers
(Use StringTokenizer class of java.util)

Week 3 :
a) Write a Java program that checks whether a given string is a palindrome or not. Ex: MADAM is a palindrome.
b) Write a Java program for sorting a given list of names in ascending order.
c) Write a Java program to make frequency count of words in a given text.

Week 4 :
a) Write a Java program that reads a file name from the user, then displays information about whether the file exists,
whether the file is readable, whether the file is writable, the type of file and the length of the file in bytes.
b) Write a Java program that reads a file and displays the file on the screen, with a line number before each line.
c) Write a Java program that displays the number of characters, lines and words in a text file.

Week 5 :
a) Write a Java program that:
i) Implements stack ADT.
ii) Converts infix expression into Postfix form
iii) Evaluates the postfix expression
Week 6 :
a) Develop an applet that displays a simple message.
b) Develop an applet that receives an integer in one text field, and computes its factorial Value and returns it in
another text field, when the button named “Compute” is clicked.

Week 7 :
Write a Java program that works as a simple calculator. Use a grid layout to arrange buttons for the digits and for the
+, -,*, % operations. Add a text field to display the result.

Week 8 :
a) Write a Java program for handling mouse events.

Week 9 :
a) Write a Java program that creates three threads. First thread displays “Good Morning” every one second, the
second thread displays “Hello” every two seconds and the third thread displays “Welcome” every three seconds.
b) Write a Java program that correctly implements producer consumer problem using the concept of inter thread
communication.

Week 10 :
Write a program that creates a user interface to perform integer divisions. The user enters two numbers in the
textfields, Num1 and Num2. The division of Num1 and Num2 is displayed in the Result field when the Divide button is
clicked. If Num1 or Num2 were not an integer, the program would throw a NumberFormatException. If Num2 were
Zero, the program would throw an ArithmeticException Display the exception in a message dialog box.

Week 11 :
Write a Java program that implements a simple client/server application. The client sends data to a server. The
server receives the data, uses it to produce a result, and then sends the result back to the client. The client displays
the result on the console. For ex: The data sent from the client is the radius of a circle, and the result produced by
the server is the area of the circle. (Use java.net)

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 3 of 45
Week 12 :
a) Write a java program that simulates a traffic light. The program lets the user select one of three lights: red, yellow,
or green. When a radio button is selected, the light is turned on, and only one light can be on at a time No light is on
when the program starts.
b) Write a Java program that allows the user to draw lines, rectangles and ovals.

Week 13 :
a) Write a java program to create an abstract class named Shape that contains an empty method named
numberOfSides ( ).Provide three classes named Trapezoid, Triangle and Hexagon such that each one of the classes
extends the class Shape. Each one of the classes contains only the method numberOfSides ( ) that shows the
number of sides in the given geometrical figures.
b) Suppose that a table named Table.txt is stored in a text file. The first line in the file is the header, and the
remaining lines correspond to rows in the table. The elements are _eparated by commas. Write a java program to
display the table using Jtable component.

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 4 of 45
Week 1:

a). Write a Java program that prints all real solutions to the quadratic equation ax2 + bx + c = 0.
Read in a, b, c and use the quadratic formula. If the discriminant b2 -4ac is negative, display a
message stating that there are no real solutions.

import java.io.*;
class Quard
{
int a,b,c;
double r1,r2;
int d;
DataInputStream dis=new DataInputStream(System.in);
void getdata() throws IOException
{
System.out.println("enter a,b,c values");
a=Integer.parseInt(dis.readLine());
b=Integer.parseInt(dis.readLine());
c=Integer.parseInt(dis.readLine());
d=(b*b)-(4*a*c);
}
void logic()
{
if(d>0)
{
System.out.println("roots are real.....");
r1=((-b)+Math.sqrt(d))/(2*a);
r2=((-b)-Math.sqrt(d))/(2*a);
System.out.println("roots are r1:"+r1+"\t r2:"+r2);
}
else
System.out.println("roots are imaginary....");
}
public static void main(String[] args) throws IOException
{
Quard q=new Quard();
q.getdata();
q.logic();
}
}

output:

E:\java programs>javac Quard.java

E:\java programs>java Quard


enter a,b,c values
1
-5
6
roots are real.....
roots are r1:3.0 r2:2.0

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 5 of 45

b). The Fibonacci sequence is defined by the following rule:


The fist two values in the sequence are 1 and 1. Every subsequent value is the sum of the two
values preceding it. Write a Java program that uses both recursive and non recursive functions
to print the nth value in the Fibonacci sequence.

import java.io.*;
class Fibo
{
int a=0,b=1,c;
int n;

void non_recursive(int n)
{
for(;c<n;)
{
c=a+b;
System.out.println("\t"+c);
a=b;
b=c;
}
}
void recursive(int a,int b,int n)
{
int t3;
t3=a+b;
if(t3<n)
{
System.out.println("\t"+t3);
recursive(b,t3,n);
}
else
return;
}

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


{
Fibo f=new Fibo();
DataInputStream dis=new DataInputStream(System.in);
System.out.println("enter n value");
int n=Integer.parseInt(dis.readLine());
f.a=0;f.b=1;
System.out.println("using non-recursive method fibonacci series .......");
System.out.println(f.a+"\t"+f.b);
f.non_recursive(n);
System.out.println("using recursiv method fibonacci series....");
f.recursive(0,1,n);
}
}

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 6 of 45
Output:

E:\java programs>javac Fibo.java


Note: Fibo.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

E:\java programs>java Fibo


enter n value
30
using non-recursive method fibonacci series .......
0 1
1
2
3
5
8
13
21
34
using recursive method fibonacci series....
1
2
3
5
8
13
21

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 7 of 45
week 2:

a). Write a Java program that prompts the user for an integer and then prints out all prime
numbers up to that integer.

import java.io.*;
class Prime
{
DataInputStream dis=new DataInputStream(System.in);
int n;
void getdata() throws IOException
{
System.out.println("enter n value");
n=Integer.parseInt(dis.readLine());
}
void logic()
{
for(int i=1;i<=n;i++)
{
int count=0;
for(int j=1;j<=i;j++)
{
if(i%j==0)
{
count++;
}
}
if(count==2)
{
System.out.println(i+"\t");

}
}
}

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


{
Prime p=new Prime();
p.getdata();
p.logic();
}
}

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 8 of 45
output:

E:\java programs>javac Prime.java


Note: Prime.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

E:\java programs>java Prime


enter n value
20
2
3
5
7
11
13
17
19

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 9 of 45
b). Write a Java program to multiply two given matrices.

import java.io.*;
class Matrics
{

int a[][]=new int[3][3];


int b[][]=new int[3][3];
int c[][]=new int[3][3];
int i,j,k;
DataInputStream dis=new DataInputStream(System.in);
void getdata() throws IOException
{
System.out.println("enter 9 values");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=Integer.parseInt(dis.readLine());
System.out.println("enter 9 values");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[i][j]=Integer.parseInt(dis.readLine());
}
void logic()
{
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
c[i][j]=0;
for(k=0;k<3;k++)
c[i][j]+=a[i][k]*b[k][j];
}
}
}
void printdata()
{
System.out.println("multiplication of two matrics is:");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
System.out.print(c[i][j]+"\t");
System.out.println();
}
}
public static void main(String[] args) throws IOException
{
Matrics m=new Matrics();
m.getdata();
m.logic();
m.printdata();
}
}

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 10 of 45

output:

E:\java programs>javac Matrics.java


Note: Matrics.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

E:\java programs>java Matrics


enter 9 values
1
2
3
4
5
6
7
8
9
enter 9 values
1
2
3
4
5
6
7
8
9
multiplication of two matrics is:
30 36 42
66 81 96
102 126 150

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 11 of 45
c) Write a Java Program that reads a line of integers, and then displays each integer, and the
sum of all the integers (Use StringTokenizer class of java.util)

import java.io.*;
import java.util.*;
public class TokenTest
{
public static void main(String args[])
{
Scanner Scanner=new Scanner(System.in);
System.out.println("enter sequence of integer with space b/w them and press
enter");
String digit=Scanner.nextLine();
StringTokenizer Token=new StringTokenizer(digit);
int i=0,dig=0,sum=0,x;
while(Token.hasMoreTokens())
{
String s=Token.nextToken();
dig=Integer.parseInt(s);
System.out.println(digit+"");
sum=sum+dig;
}
System.out.println();
System.out.println("sum is"+sum);
}
}

output:
E:\java Programs>javac TokenTest.java
E:\java Progams>java TokenTest

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 12 of 45

Week 3:

a). Write a Java program that checks whether a given string is a palindrome or not. Ex:
MADAM is a palindrome.

import java.io.*;
class Palindrome
{
String st;
StringBuffer str;
DataInputStream dis=new DataInputStream(System.in);
void getdata() throws IOException
{
System.out.println("enter the string");
st=dis.readLine();
str=new StringBuffer(st);
}
void logic()
{
StringBuffer st1;
st1=str.reverse();
System.out.println(st1);
String st2=String.valueOf(st1);
if(st.equals(st2))
System.out.println("given string is palindrome");
else
System.out.println("not palindrome");
}
public static void main(String[] args) throws IOException
{
Palindrome p=new Palindrome();
p.getdata();
p.logic();
}
}

output:

E:\java programs>javac Palindrome.java


Note: Palindrome.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

E:\java programs>java Palindrome


enter the string
madam
madam
given string is palindrome

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 13 of 45

b) Write a Java program for sorting a given list of names in ascending order.

import java.io.*;
class Sort
{
String st[]=new String[5];
String st1[]=new String[5];
int i;
void getData() throws IOException
{
DataInputStream dis=new DataInputStream(System.in);
System.out.println("enter 5 string values");
for(i=0;i<st.length;i++)
st[i]=dis.readLine();
}
void logic()
{
for(i=0;i<st1.length;i++)
st1[i]=st[i];
for(i=0;i<st.length;i++)
{
if((st[i++].compareTo(st1[i]))>0)
{
String temp=st[i];
st[i]=st[i+1];
st[i+1]=temp;
}

}
for(i=0;i<st.length;i++)
System.out.println(st[i]);
}

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


{
Sort s=new Sort();
s.getData();
s.logic();
}
}

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 14 of 45
Week 4:

a). Write a Java program that reads a file name from the user, then displays information about
whether the file exists, whether the file is readable, whether the file is writable, the type of file
and the length of the file in bytes.

import java.io.*;
class FileMethod
{
public static void main(String[] args)
{
File f=new File("e:\\java programs","java manual.rtf");
if(f.exists())
{
System.out.println("file is exist and details about file....");
System.out.println("File name:"+f.getName());
System.out.println("Absolute path:"+f.getAbsolutePath());
System.out.println(f.canRead()?"file is readable":"file is not readable");
System.out.println(f.canWrite()?"file is writable":"file is not writable");
System.out.println(f.isFile()?"f is file":"f is directory");
System.out.println("length of file "+f.length()+" Bytes");
}
else
System.out.println("file does not exist");
}
}

output:

E:\java programs>javac FileMethod.java

E:\java programs>java FileMethod


file is exist and details about file....
File name:java manual.rtf
Absolute path:e:\java programs\java manual.rtf
file is readable
file is writable
f is file
length of file 7831129 Bytes

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 15 of 45
b) Write a Java program that reads a file and displays the file on the screen, with a line number
before each line.

import java.io.*;
class file2
{
public static void main(String args[])throws Exception
{
FileInputStream F1=new FileInputStream("Consumer.java");
int n=F1.available();
System.out.println(n);
int j=1;
for(int i=0;i<n;i++)
{
char ch=(char)F1.read();
char c='\n';
if(c==ch)
{
System.out.println(""+j);
j++;
}
System.out.println(ch);
}
}
}

output:
E:/java Programs>javac file2.java
E/java Programs>java file2

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 16 of 45
c) Write a Java program that displays the number of characters, lines and words in a text
file.

import java.io.*;
class FileMethod2
{
public static void main(String[] args) throws IOException
{
FileInputStream f=new FileInputStream("e:\\java programs\\hi.txt");
int size;
size=f.available();
int chars=0,words=1,lines=0;
for(int i=0;i<size;i++)
{
chars++;
if(f.read()==32)
words++;
if(f.read()==10)
lines++;

}
words++;
System.out.println("characters with spaces"+chars+"\n words"+words+"\n
lines"+lines);
f.close();

}
}

output:

E:\java programs>javac FileMethod2.java

E:\java programs>java FileMethod2


characters with spaces 20
words 4
lines 1

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 17 of 45
Week 5:

Write a Java program that:


i) Implements stack ADT.
ii) Converts infix expression into Postfix form
iii) Evaluates the postfix expression

Implements stack ADT:

import java.io.*;
import java.util.*;
class stackdemo
{
public static void main(String[] args)
{
Stack st1=new Stack();
Stack st2=new Stack();
for(int i=0;i<10;i++)
st1.push(i);
for(int i=0;i<20;i++)
st2.push(i);
System.out.println("stack in mystack st1:");
for(int i=0;i<10;i++)
System.out.println(st1.pop());
System.out.println("stack in mystack st2:");
for(int i=0;i<10;i++)
System.out.println(st2.pop());
}
}

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 18 of 45
Output:

C:\Documents and Settings\YSCE\Desktop\java>javac stackdemo.java


Note: stackdemo.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

C:\Documents and Settings\YSCE\Desktop\java>java stackdemo


stack in mystack st1:
9
8
7
6
5
4
3
2
1
0
stack in mystack st2:
19
18
17
16
15
14
13
12
11
10

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 19 of 45
infix to postfix form:

import java.io.*;
public class intopost
{
private stack thestack;
private String output="";
private String input;
public intopost(String in)
{
input=in;
int stacksize=input.length();
thestack=new stack(stacksize);
}
public String dotrans()
{
for(int j=0;j<input.length();j++)
{
char ch=input.charAt(j);
switch(ch)
{
case'+':
case'-':
oper(ch,1);
break;
case'*':
case'/':
oper(ch,2);
break;
case'c':
thestack.push(ch);
break;
case'j':
paren(ch);
break;
default:
output+=ch;
break;
}
}
while (!thestack.isEmpty())
{
output +=thestack.pop();
}
System.out.println(output);
return output;
}
public void oper(char opthis,int prec1)
{
while(!thestack.isEmpty())
{
char optop=thestack.pop();

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 20 of 45
if(optop=='c')
{
thestack.push(optop);
break;
}
else
{
int prec2;
if(optop=='+'||optop=='-')
prec2=1;
else
prec2=2;
if(prec2<prec1)
{
thestack.push(optop);
break;
}
else
output+=optop;
}
}
thestack.push(opthis);
}
public void paren(char ch)
{
while(!thestack.isEmpty())
{
char chx=thestack.pop();
if(chx=='c')
break;
else
output +=chx;
}
}
public static void main(String args[])throws IOException
{
String input=args[0];
String output;
intopost thetrans=new intopost(input);
output= thetrans.dotrans();
System.out.println("postfix is"+output+"\n");
}
}
class stack
{
private int maxsize;
private char[] stackarray;
private int top;
public stack(int m)
{
maxsize=m;
stackarray=new char[maxsize];

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 21 of 45
top=-1;
}
public void push(char i)
{
stackarray[++top]=i;
}
public char pop()
{
return stackarray[top--];
}
public boolean isEmpty()
{
return(top==-1);
}
public char peek()
{
return stackarray[top];
}
}

Output:

C:\Documents and Settings\YSCE\Desktop\java>javac intopost.java

C:\Documents and Settings\YSCE\Desktop\java>java intopost a+b*c


abc*+
postfix is abc*+

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 22 of 45
week 6:

a). Develop an applet that displays a simple message.

import java.awt.*;
import java.applet.Applet;
public class SimpleApplet extends Applet
{
public void paint(Graphics g)
{
g.drawString("welcome to Applets",50,50);
}
}
/*<applet code="SimpleApplet.class" height=200 width=400>
</applet>*/

output:

E:\java programs>javac SimpleApplet.java

E:\java programs>appletviewer SimpleApplet.java

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 23 of 45
b). Develop an applet that receives an integer in one text field, and computes its factorial Value
and returns it in another text field, when the button named “Compute” is clicked.

import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class Fact extends Applet implements ActionListener
{
Label l1,l2;
TextField t1,t2;
Button b1;
public void init()
{
l1=new Label("enter the value");
add(l1);
t1=new TextField(10);
add(t1);
b1=new Button("Factorial");
add(b1);
b1.addActionListener(this);
l2=new Label("Factorial of given no is");
add(l2);
t2=new TextField(10);
add(t2);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
int fact=fact(Integer.parseInt(t1.getText()));
t2.setText(String.valueOf(fact));
}
}
int fact(int f)
{
int s=0;
if(f==0)
return 1;
else
return f*fact(f-1);
}
}
/*<applet code="Fact.class" height=300 width=300>
</applet>*/

output:

E:\java programs>javac Fact.java

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 24 of 45
E:\java programs>appletviewer Fact.java

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 25 of 45
Week 7:

Write a Java program that works as a simple calculator. Use a grid layout to arrange buttons for
the digits and for the +, -,*, % operations. Add a text field to display the result

import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class Calculator extends Applet implements ActionListener
{
Label l1,l2;
TextField t1,t2,t3;
Button add1,sub,mul,div;
public void init()
{
l1=new Label("First no");
add(l1);
t1=new TextField(10);
add(t1);
l2=new Label("second no");
add(l2);
t2=new TextField(10);
add(t2);
add1=new Button(" + ");
add(add1);
add1.addActionListener(this);
sub=new Button(" - ");
add(sub);
sub.addActionListener(this);
div=new Button(" / ");
add(div);
div.addActionListener(this);
mul=new Button(" * ");
add(mul);
mul.addActionListener(this);
t3=new TextField(10);
add(t3);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==add1)
{
int sum=Integer.parseInt(t1.getText())+Integer.parseInt(t2.getText());
t3.setText(String.valueOf(sum));
}
if(e.getSource()==sub)
{
int sum=Integer.parseInt(t1.getText())-Integer.parseInt(t2.getText());
t3.setText(String.valueOf(sum));
}
if(e.getSource()==mul)
{

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 26 of 45
int sum=Integer.parseInt(t1.getText())*Integer.parseInt(t2.getText());
t3.setText(String.valueOf(sum));
}
if(e.getSource()==div)
{
double
sum=(double)(Integer.parseInt(t1.getText())/Integer.parseInt(t2.getText()));
t3.setText(String.valueOf(sum));
}

}
}
/*<applet code="Calculator.class" height=400 width=400>
</applet>*/

output:

E:\java programs>javac Calculator.java

E:\java programs>appletviewer Calculator.java

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 27 of 45
Week 8:

Write a Java program for handling mouse events

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class MouseTest extends Applet implements MouseListener,MouseMotionListener
{
public void init()
{
addMouseListener(this);
addMouseMotionListener(this);
}
public void mouseClicked(MouseEvent e)
{
showStatus("mouse clicked at"+e.getX()+","+e.getY());
}
public void mouseEntered(MouseEvent e)
{
showStatus("mouse entered at"+e.getX()+","+e.getY());
}
public void mouseExited(MouseEvent e)
{
showStatus("mouse exited at"+e.getX()+","+e.getY());
}
public void mousePressed(MouseEvent e)
{
showStatus("mouse pressed at"+e.getX()+","+e.getY());
}
public void mouseReleased(MouseEvent e)
{
showStatus("mouse released at"+e.getX()+","+e.getY());
}
public void mouseDragged(MouseEvent e)
{
showStatus("mouse dragged at"+e.getX()+","+e.getY());
}
public void mouseMoved(MouseEvent e)
{
showStatus("mouse moved at"+e.getX()+","+e.getY());
}
public void paint(Graphics g)
{
Font f=new Font("Helvetica",Font.BOLD,20);
g.setFont(f);
g.drawString("Always keep smiling !!",50,50);
g.drawOval(60,60,200,200);
g.fillOval(90,120,50,20);
g.fillOval(190,120,50,20);
g.drawLine(165,125,165,175);
g.drawArc(110,130,95,95,0,-180);

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 28 of 45
g.drawLine(165,175,150,160);
}

}
/*<applet code="MouseTest.class" height=400 width=400>
</applet>*/

output:E:\java programs>javac MouseTest.java

E:\java programs>appletviewer MouseTest.java

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 29 of 45
week 9:

a).Write a Java program that creates three threads. First thread displays “Good Morning” every
one second, the second thread displays “Hello” every two seconds and the third thread displays
“Welcome” every three seconds.

import java.io.*;

class First extends Thread


{
public void run()
{
for(;;)
{
System.out.println("Good Morning");
try{
Thread.sleep(1000);
}catch(InterruptedException e){}
}
}
}

class Second extends Thread


{
public void run()
{
for(;;)
{
System.out.println("Hello");
try{
Thread.sleep(2000);
}catch(InterruptedException e){} }
}
}

class Third extends Thread


{
public void run()
{
for(;;)
{
System.out.println("Welcome");
try{
Thread.sleep(3000);
}catch(InterruptedException e){} }
}
}

class MThread
{

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 30 of 45
public static void main(String[] args)
{
Thread t1=new First();
Thread t2=new Second();
Thread t3=new Third();
System.out.println("press Ctrl+c to stop......");
t1.start();
t2.start();
t3.start();
}
}

output:

E:\java programs>javac MThread.java

E:\java programs>java MThread


press Ctrl+c to stop......
Good Morning
Hello
Welcome
Good Morning
Good Morning
Hello
Good Morning
Welcome
Good Morning
Hello
Good Morning
Welcome
Good Morning
Hello
Good Morning
Good Morning
Hello

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 31 of 45
b). Write a Java program that correctly implements producer consumer problem using the
concept of inter thread communication

class Producer implements Runnable


{
Stock s;
Thread t;
Producer(Stock s)
{
this.s=s;
t=new Thread(this,"Producer thread");
t.start();
}
public void run()
{
while(true)
{
try
{
t.sleep(750);
}
catch(InterruptedException e)
{
}
s.addStock((int)(Math.random()*100));
}
}
void stop()
{
t.stop();
}
}

class Consumer implements Runnable


{
Stock c;
Thread t;
Consumer(Stock c)
{
this.c=c;
t=new Thread(this,"producer thread");
t.start();
}
public void run()
{
while(true)
{
try
{
t.sleep(750);
}catch(InterruptedException e)
{

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 32 of 45
}
c.getStock((int)(Math.random()*100));
}
}
void stop()
{
t.stop();
}
}

class Stock
{
int goods=0;
public synchronized void addStock(int i)
{
goods=goods+i;
System.out.println("Stock added:"+i);
System.out.println("present stock:"+goods);
notify();
}
public synchronized int getStock(int j)
{
while(true)
{
if(goods>=j)
{
goods=goods-j;
System.out.println("stock taken away :"+j);
System.out.println("present stock:"+goods);
break;
}
else
{
System.out.println("stock not enough......");
System.out.println("waiting for stocks to come..");
try
{
wait();
}catch(InterruptedException e){}
}
}
return goods;
}
public static void main(String args[])
{
Stock j=new Stock();
Producer p=new Producer(j);
Consumer c=new Consumer(j);
try
{
Thread.sleep(10000);
p.stop();

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 33 of 45
c.stop();
p.t.join();
c.t.join();
System.out.println("thread stopped");
}
catch(InterruptedException e)
{}
System.exit(0);
}
}

output:

E:\java programs>javac Stock.java

E:\java programs>java Stock


Stock added:8
present stock:8
stock not enough......
waiting for stocks to come..
Stock added:78
present stock:86
stock taken away :86
present stock:0
Stock added:95
present stock:95
stock taken away :15
present stock:80
Stock added:80
present stock:160
stock taken away :91
present stock:69
Stock added:6
present stock:75
stock taken away :18
present stock:57
Stock added:40
present stock:97
stock taken away :14
present stock:83
Stock added:63
present stock:146
stock taken away :57
present stock:89
Stock added:60
present stock:149
stock taken away :77
present stock:72
Stock added:57
present stock:129
stock taken away :72
present stock:57

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 34 of 45
Stock added:65
present stock:122
stock taken away :71
present stock:51
Stock added:58
present stock:109
stock taken away :79
present stock:30
Stock added:58
present stock:88
stock not enough......
waiting for stocks to come..
thread stopped

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 35 of 45
week 10:

Write a program that creates a user interface to perform integer divisions. The user enters two
numbers in the textfields, Num1 and Num2. The division of Num1 and Num2 is displayed in the
Result field when the Divide button is clicked. If Num1 or Num2 were not an integer, the
program would throw a NumberFormatException. If Num2 were Zero, the program would throw
an ArithmeticException Display the exception in a message dialog box.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class div extends JFrame implements ActionListener
{
Container c;
JButton btn;
JLabel lb11,lb12,lb13;
JTextField tf1,tf2,tf3;
JPanel p;
div()
{
super("Exception handler");
c=getContentPane();
c.setBackground(Color.red);
btn=new JButton("Divide");
btn.addActionListener(this);
tf1=new JTextField(30);
tf2=new JTextField(30);
tf3=new JTextField(30);
lb11=new JLabel("NUM1");
lb12=new JLabel("NUM2");
lb13=new JLabel("RESULT");
p=new JPanel();
p.setLayout(new GridLayout(3,2));
p.add(lb11); p.add(tf1);
p.add(lb12); p.add(tf2);
p.add(lb13); p.add(tf3);
c.add(new JLabel("DIVISION"),"North");
c.add(p,"Center");
c.add(btn,"South");
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
}
});
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btn)
{

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 36 of 45
try
{
int a=Integer.parseInt(tf1.getText());
int b=Integer.parseInt(tf2.getText());
Float c=Float.valueOf(a/b);
tf3.setText(String.valueOf(c));
}
catch(NumberFormatException ex)
{
tf3.setText("........");
JOptionPane.showMessageDialog(this,"other err
"+ex.getMessage());
}
catch(ArithmeticException ex)
{
tf3.setText("........");
JOptionPane.showMessageDialog(this,ex.getMessage());
}

}
}
public static void main(String[] args)
{
div b=new div();
b.setSize(300,300);
b.setVisible(true);
}
}

Output:

C:\Documents and Settings\YSCE\Desktop\java>javac div.java

C:\Documents and Settings\YSCE\Desktop\java>java div

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 37 of 45
Week 11:

Write a Java program that implements a simple client/server application. The client sends data
to a server. The server receives the data, uses it to produce a result, and then sends the result
back to the client. The client displays the result on the console. For ex: The data sent from the
client is the radius of a circle, and the result produced by the server is the area of the circle.
(Use java.net)

Client program

import java.io.*;
import java.net.*;
class Client
{
public static void main(String[] args) throws Exception
{

Socket s=new Socket("localhost",8080);


BufferedReader br;
PrintStream ps;
String str;
System.out.println("enter the radius to send the server");
br=new BufferedReader(new InputStreamReader(System.in));
ps=new PrintStream(s.getOutputStream());
ps.println(br.readLine());
br=new BufferedReader(new InputStreamReader(s.getInputStream()));
str=br.readLine();
System.out.println("Area of circle:"+str);
ps.close();
br.close();

}
}

Server program:

import java.io.*;
import java.net.*;
class Server
{
public static void main(String[] args)
{
try{
ServerSocket ss=new ServerSocket(8080);
System.out.println("wait for client request");
Socket s=ss.accept();
BufferedReader br;
PrintStream ps;
String str;

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 38 of 45
br=new BufferedReader(new InputStreamReader(s.getInputStream()));
str=br.readLine();
System.out.println("recieved radius");
double r=Double.parseDouble(str);
double area=3.14*r*r;
ps=new PrintStream(s.getOutputStream());
ps.println(String.valueOf(area));
ps.close();
br.close();
s.close();
ss.close();
}
catch(Exception e)
{
System.out.println("exception occur at:"+e.toString());
}
}
}

Output:

Client side:

C:\Documents and Settings\YSCE\Desktop\java>javac client.java

C:\Documents and Settings\YSCE\Desktop\java>java Client


enter the radius to send the server
10
Area of circle:314.0

Server side:

C:\Documents and Settings\YSCE\Desktop\java>javac server.java

C:\Documents and Settings\YSCE\Desktop\java>java Server


wait for client request
recieved radius

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 39 of 45
Week 12:

a); Write a java program that simulates a traffic light. The program lets the user select one of
three lights: red, yellow, or green. When a radio button is selected, the light is turned on, and
only one light can be on at a time No light is on when the program starts.

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

public class TrafficSignal extends Applet


{
CheckboxGroup c;
Checkbox c1,c2,c3;
public void init()
{
c=new CheckboxGroup();
c1=new Checkbox("RED",c,false);
c2=new Checkbox("YELLOW",c,false);
c3=new Checkbox("GREEN",c,false);
add(c1);
add(c2);
add(c3);
c1.addMouseListener(new Check1());
c2.addMouseListener(new Check2());
c3.addMouseListener(new Check3());
}
class Check1 extends MouseAdapter
{
public void mouseClicked(MouseEvent e)
{
setBackground(Color.red);
}
}
class Check2 extends MouseAdapter
{
public void mouseClicked(MouseEvent e)
{
setBackground(Color.yellow);
}
}
class Check3 extends MouseAdapter
{
public void mouseClicked(MouseEvent e)
{
setBackground(Color.green);
}
}
}

/*<applet code="TrafficSignal.class" height=300 width=300>


</applet>*/

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 40 of 45

output:

E:\java programs>javac TrafficSignal.java

E:\java programs>appletviewer TrafficSignal.java

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 41 of 45
b). Write a Java program that allows the user to draw lines, rectangles and ovals

import java.awt.*;
import java.applet.Applet;
public class DrawShapes extends Applet
{
public void paint(Graphics g)
{
g.drawLine(40,30,200,30);
g.drawRect(40,60,70,40);
g.fillRect(140,60,70,40);
g.drawOval(240,120,70,40);
g.fillOval(40,180,70,40);
}
}
/*<applet code="DrawShapes.class" height=500 width=500>
</applet>*/

output:

E:\java programs>javac DrawShapes.java

E:\java programs>appletviewer DrawShapes.java

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 42 of 45
week 13:

a). Write a java program to create an abstract class named Shape that contains an empty
method named numberOfSides ( ).Provide three classes named Trapezoid, Triangle and
Hexagon such that each one of the classes extends the class Shape. Each one of the classes
contains only the method numberOfSides ( ) that shows the number of sides in the given
geometrical figures.

abstract class Shapes


{
abstract void numberOfSlides();
}

class Trapezoid extends Shapes


{
void numberOfSlides()
{
System.out.println("no of slides for Trapezoid is 5");
}
}
class Triangle extends Shapes
{
void numberOfSlides()
{
System.out.println("no of slides for triangle is 3");
}
}
class Hexagon extends Shapes
{
void numberOfSlides()
{
System.out.println("no of slides for Hexagon in 8");
}
}
class Abstractclass
{
public static void main(String[] args)
{
Shapes s;
s=new Trapezoid();
s.numberOfSlides();
s=new Triangle();
s.numberOfSlides();
s=new Hexagon();
s.numberOfSlides();
}
}

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 43 of 45
Output:

E:\java programs>javac Abstractclass.java

E:\java programs>java Abstractclass


no of slides for Trapezoid is 5
no of slides for triangle is 3
no of slides for Hexagon in 8

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 44 of 45
b) Suppose that a table named Table.txt is stored in a text file. The first line in the file is the
header, and the remaining lines correspond to rows in the table. The elements are _eparated by
commas. Write a java program to display the table using Jtable component.

import java.awt.*;
import javax.swing.*;
public class Table1 extends JApplet
{
public void init()
{
Container con=getContentPane();
BorderLayout b=new BorderLayout();
con.setLayout(b);
final String[] colHeads={"name","rollnumber","Dept","percentage"};
final String[][] data={
{"java","0501","cse","70.05%"},
{"ajay","0341","mech","90.78%"},
{"vijaya","0401","ece","70.05%"},
{"nani","0402","ece","80.12%"},
{"lakshmi","0201","ee","80.12%"},
{"malathi","1214","cseit","50.05%"}
};
JTable table1=new JTable(data,colHeads);
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
JScrollPane scroll=new JScrollPane(table1,v,h);
con.add(scroll);
}
}
/*<applet code="Table1.class" height=400 width=400>
</applet>*/

Output:

C:\Documents and Settings\YSCE\Desktop\java>javac table1.java

C:\Documents and Settings\YSCE\Desktop\java>appletviewer Table1.java

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM
OBJECT ORIENTED PROGRAMMING LAB Page 45 of 45

SARADA INSTITUTE OF TECHNOLOGY & SCIENCE


SARADA NAGAR, RAGHUNADHAPALEM, KHAMMAM

Potrebbero piacerti anche