Monday, March 14, 2022

R23- JAVA PROGRAMMING LAB SOLUTIONS

II Year – II Semester                                                                 L      T P C

                                                                                                        0  0 3 2


JAVA PROGRAMMING LAB

(JNTUK Syllabus)


Exercise - 1 

a). Write a JAVA program to display default value of all primitive data type of JAVA

b). Write a java program that display the roots of a quadratic equation ax2+bx=0. Calculate the discriminate D and basing on value of D, describe the nature of root.

Exercise - 2 

a). Write a JAVA program to search for an element in a given list of elements using binary

search mechanism.

b). Write a JAVA program to sort for an element in a given list of elements using bubble sort c) . Write a JAVA program using StringBufferto delete, remove character.

Exercise - 3

a). Write a JAVA program to implement class mechanism. – Create a class, methods and invoke them inside main method.

b). Write a JAVA program implement method overloading.

        c). Write a JAVA program to implement constructor.

         d). Write a JAVA program to implement constructor overloading.

Exercise - 4

a). Write a JAVA program to implement Single Inheritance

b). Write a JAVA program to implement multi level Inheritance

c). Write a java program for abstract class to find areas of different shapes

Exercise - 5

a). Write a JAVA program give example for “super” keyword.

b). Write a JAVA program to implement Interface. What kind of Inheritance can be achieved?

c). Write a JAVA program that implements Runtime polymorphism

Exercise - 6

a).Write a JAVA program that describes exception handling mechanism b).Write a JAVA program Illustrating Multiple catch clauses

c). Write a JAVA program for creation of Java Built-in Exceptions d).Write a JAVA program for creation of User Defined Exception

Exercise – 7

a). Write a JAVA program that creates threads by extending Thread class .First thread display “Good Morning “every 1 sec, the second thread displays “Hello “every 2 seconds and the third display “Welcome” every 3 seconds ,(Repeat the same by implementing Runnable)

b). Write a program illustrating isAlive and join ()

c). Write a Program illustrating Daemon Threads

        d).Write a JAVA program Producer Consumer Problem

        

Exercise –8

a). Write a JAVA program that import and use the user defined  package 

b). Without writing any code build a GUI that display text in label and image in an ImageView(use JavaFX)

c).Build a TipCalculator app using several JavaFX components and learn how to respond to user interactions with the GUI

Exercise – 9

a). Write a java program that connects to a database using JDBC 

b)Write a java program to connect to a database using JDBC and insert values into it. 

c) Write a java program to connect to a database using JDBC and delete values from it. 


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

Exercise - 1

a)    Displaying default value of all primitive data types

 

Aim: To write a JAVA program to display default value of all primitive data type of JAVA

 

Program:

class defaultdemo

{

static byte b; static short s; static int i; static long l; static float f; static double d; static char c;

static boolean bl;

public static void main(String[] args)

{

System.out.println("The default values of primitive data types are:"); System.out.println("Byte :"+b);

System.out.println("Short :"+s); System.out.println("Int :"+i); System.out.println("Long :"+l); System.out.println("Float :"+f); System.out.println("Double :"+d); System.out.println("Char :"+c); System.out.println("Boolean :"+bl);

}

}

Output:

The default values of primitive data types are:

Byte :0

Short :0

Int :0

Long :0

Float :0.0

Double :0.0 Char : Boolean :false


 

b)    Roots of a quadratic equation

 

Aim: To write a java program that display the roots of a quadratic equation ax2+bx=0. Calculate the discriminate D and basing on value of D, describe the nature of root.

 

Program:

import java.util.*; class quadraticdemo

{

public static void main(String[] args)

{

int a, b, c; double r1, r2, D;

Scanner s = new Scanner(System.in); System.out.println("Given quadratic equation:ax^2 + bx + c"); System.out.print("Enter a:");

a = s.nextInt(); System.out.print("Enter b:"); b = s.nextInt(); System.out.print("Enter c:"); c = s.nextInt();

D = b * b - 4 * a * c; if(D > 0)

{

System.out.println("Roots are real and unequal"); r1 = ( - b + Math.sqrt(D))/(2*a);

r2 = (-b - Math.sqrt(D))/(2*a); System.out.println("First root is:"+r1); System.out.println("Second root is:"+r2);

}

else if(D == 0)

{


 

 

}

else

{

 

}

}

}


System.out.println("Roots are real and equal"); r1 = (-b+Math.sqrt(D))/(2*a); System.out.println("Root:"+r1);

 

 

System.out.println("Roots are imaginary");


Output:

Given quadratic equation:ax^2 + bx + c Enter a:2

Enter b:3 Enter c:1

Roots are real and unequal First root is:-0.5

Second root is:-1.0


 

                        Exercise - 2

Implementation of Binary search mechanism

Aim: To write a JAVA program to search for an element in a given list of elements using binary search mechanism

 

Program:

import java.util.Scanner; class binarysearchdemo

{

public static void main(String args[])

{

int n, i, num,first, last, middle; int a[ ]=new int[20];

Scanner s = new Scanner(System.in); System.out.println("Enter total number of elements:"); n = s.nextInt();

System.out.println("Enter elements in sorted order:"); for (i = 0; i < n; i++)

a[i] = s.nextInt();

System.out.println("Enter the search value:"); num = s.nextInt();

first = 0; last = n - 1;

middle = (first + last)/2; while( first <= last )

{

if ( a[middle] < num ) first = middle + 1;

else if ( a[middle] == num )

{


 

 

}

else

{

 

}


System.out.println("number found"); break;

 

 

last = middle - 1;


middle = (first + last)/2;

}

if ( first > last )

System.out.println( " Number is not found");

}

}

 

Output:

Enter total number of elements: 5

Enter elements:

2 4 6 8 9

Enter the search value: 8

number found


                                                      b).Bubble sort

Aim: To write a JAVA program to sort for an element in a given list of elements using bubble sort

 

Program:

import java.util.Scanner; class bubbledemo

{

public static void main(String args[])

{

int n, i,j, temp;

int a[ ]=new int[20];

Scanner s = new Scanner(System.in); System.out.println("Enter total number of elements:"); n = s.nextInt();

System.out.println("Enter elements:"); for (i = 0; i < n; i++)

a[i] = s.nextInt(); for(i=0;i<n;i++)

{

for(j=0;j<n-1;j++)

{

if(a[j]>a[j+1])

{

temp=a[j]; a[j]=a[j+1]; a[j+1]=temp;

}

}

}

System.out.println("The sorted elements are:"); for(i=0;i<n;i++)

System.out.print("\t"+a[i]);

}

}

 

Output:

Enter total number of elements:

10

Enter elements:

3 2 5 7 6 8 9 1 4 0

The sorted elements are:

0     1  2        3        4        5        6        7        8        9


c). Implementing String Buffer

Aim: To write a JAVA program using StringBuffer to delete, remove character

 

Program:

class stringbufferdemo

{

public static void main(String[] args)

{

StringBuffer sb1 = new StringBuffer("Hello World"); sb1.delete(0,6);

System.out.println(sb1);

StringBuffer sb2 = new StringBuffer("Some Content"); System.out.println(sb2);

sb2.delete(0, sb2.length()); System.out.println(sb2);

StringBuffer sb3 = new StringBuffer("Hello World"); sb3.deleteCharAt(0);

System.out.println(sb3);

}

}

 

Output:

World

Some Content ello World


 

           Exercise - 3

a)    Implement class mechanism

Aim: To write a JAVA program to implement class mechanism. – Create a class, methods and invoke them inside main method

Programs:

1.no return type and without parameter-list:

class A

{

int l=10,b=20; void display()

{

System.out.println(l); System.out.println(b);

}

}

class methoddemo

{

public static void main(String args[])

{


 

 

}

}

Output:

10

20


A a1=new A(); a1.display();


2.no return type and with parameter-list:

class A

{

void display(int l,int b)

{

System.out.println(l); System.out.println(b);

}

}

class methoddemo

{

public static void main(String args[])

{

A a1=new A(); a1.display(10,20);

}

}

Output:

10

20

 

3.   return type and without parameter-list

class A

{

int l=10,b=20;


int area()

{

return l*b;

}

}

class methoddemo

{

public static void main(String args[])

{

A a1=new A(); int r=a1.area();

System.out.println("The area is: "+r);

}

}

Output:

The area is:200

 

4.return type and with parameter-list:

class A

{

int area(int l,int b)

{

return l*b;

}

}

class methoddemo

{

public static void main(String args[])

{

A a1=new A();

int r=a1.area(10,20); System.out.println(“The area is:”+r);

}

}

Output:

The area is:200

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b).Method Overloading

 

Aim:  To write a JAVA program implement method overloading Program:


class A

{


 

int l=10,b=20; int area()

{


return l*b;

}

int area(int l,int b)

{

return l*b;

}

}

class overmethoddemo

{

public static void main(String args[])

{

A a1=new A(); int r1=a1.area();

System.out.println("The area is: "+r1); int r2=a1.area(5,20); System.out.println("The area is: "+r2);

}

}

 

Output:

The area is: 200 The area is: 100


c).Implementing Constructor

Aim: To write a JAVA program to implement constructor

Programs:

(i)   A constructor with no parameters:

class A

{


int l,b; A()

{

 

 

}


 

l=10; b=20;


int area()

{

return l*b;

}

}

class constructordemo

{

public static void main(String args[])

{

A a1=new A(); int r=a1.area();

System.out.println("The area is: "+r);

 

}

}

Output:

The area is:200

(ii)   A constructor with parameters

class A

{

int l,b;

A(int u,int v)

{

l=u; b=v;

}

int area()

{

return l*b;

}

}

class constructordemo

{

public static void main(String args[])

{

A a1=new A(10,20);

int r=a1.area(); System.out.println("The area is: "+r);

}

}

Output:

The area is:200


d).Constructor Overloading

Aim: To write a JAVA program to implement constructor overloading

 

Program:

 

class A

{

int l,b; A()

{

l=10; b=20;

}

A(int u,int v)

{

l=u; b=v;

}

int area()

{

return l*b;

}

}

class overconstructdemo

{

public static void main(String args[])

{

A a1=new A(); int r1=a1.area();

System.out.println("The area is: "+r1); A a2=new A(30,40);

int r2=a2.area(); System.out.println("The area is: "+r2);

}

}

 

Output:

The area is: 200 The area is: 1200


 

 

Exercise -4

a)Implementing Single Inheritance

 

Aim: To write a JAVA program to implement Single Inheritance

 

Program:

 

class A

{


A()

{

 

}

}


 

System.out.println("Inside A's Constructor");


class B extends A

{


B()

{

 

}

}


 

System.out.println("Inside B's Constructor");


class singledemo

{

public static void main(String args[])

{

B b1=new B();

}

}

 

Output:

Inside A's Constructor Inside B's Constructor


 

b)  Multi level Inheritance Aim: To write a JAVA program to implement multi level Inheritance Program:

class A

{


A()

{

 

}

}


 

System.out.println("Inside A's Constructor");


class B extends A

{


B()

{

 

}

}


 

System.out.println("Inside B's Constructor");


class C extends B

{


C()

{

 

}

}


 

System.out.println("Inside C's Constructor");


class multidemo

{

public static void main(String args[])

{

C c1=new C();

 

}

}

 

Output:

Inside A's Constructor Inside B's Constructor Inside C's Constructor


c)                                                                                                                                                         Abstract Class

 

Aim: To write a java program for abstract class to find areas of different shapes

 

Program:

 

abstract class shape

{

abstract double area();

}

class rectangle extends shape

{

double l=12.5,b=2.5; double area()

{

return l*b;

}

}

class triangle extends shape

{

double b=4.2,h=6.5; double area()

{

return 0.5*b*h;

}

}

class square extends shape

{

double s=6.5; double area()

{

return 4*s;

}

}

class shapedemo

{

public static void main(String[] args)

{

rectangle r1=new rectangle(); triangle t1=new triangle(); square s1=new square();

System.out.println("The area of rectangle is: "+r1.area()); System.out.println("The area of triangle is: "+t1.area()); System.out.println("The area of square is: "+s1.area());

}

}

 

Output:

The area of rectangle is: 31.25 The area of triangle is: 13.65 The area of square is: 26.0


Exercise 5

a)    super keyword implementation

Aim: Write a JAVA program give example for “super” keyword

Programs:

(i)   Using super to call super class constructor (Without parameters)

 

class A

{

int l,b; A()

{

l=10; b=20;

}

}

class B extends A

{

int h; B()

{

super(); h=30;

}

int volume()

{

return l*b*h;

}

}

class superdemo

{

public static void main(String args[])

{

B b1=new B();

int r=b1.volume(); System.out.println("The vol. is: "+r);

}

}

 

Output:

The vol. is:6000

 

(ii)   Using super to call super class constructor (With parameters)

class A

{

int l,b;

A(int u,int v)

{

l=u; b=v;

}

}


class B extends A

{

int h;

B(int u,int v,int w)

{

super(u,v); h=w;

}

int volume()

{

return l*b*h;

}

}

class superdemo

{

public static void main(String args[])

{

B b1=new B(30,20,30);

int r=b1.volume(); System.out.println("The vol. is: "+r);

}

}

 

Output:

The vol. is:18000


b) Implementing interface

Aim: To write a JAVA program to implement Interface.

Programs:

(i) First form of interface implementation

interface A

{

void display();

}

class B implements A

{

public void display()

{

System.out.println("B's method");

}

}

class C extends B

{

public void callme()

{

System.out.println("C's method");

}

}

class interfacedemo

{

public static void main(String args[])

{

C c1=new C(); c1.display();

c1.callme();

}

}

 

Output:

B's method C's method

 

(ii)   Second form of interface implementation

interface D

{

void display();

}

interface E extends D

{

void show();

}

class A

{

void callme()

{

System.out.println("This is in callme method");

}

}


class B extends A implements E

{

public void display()

{

System.out.println("This is in display method");

}

public void show()

{

System.out.println("This is in show method");

}

}

class C extends B

{

void call()

{

System.out.println("This is in call method");

}

}

class interfacedemo

{

public static void main(String args[])

{

C c1=new C(); c1.display();

c1.show();

c1.callme();

c1.call();

}

}

Output:

This is in display method This is in show method This is in callme method This is in call method

(iii)   Third form of interface implementation

interface A

{

void display();

}

class B implements A

{

public void display()

{

System.out.println("This is in B's method");

}

}

class C implements A

{

public void display()

{

System.out.println("This is C's method");

}

}

class interfacedemo

{


public static void main(String args[])

{

B b1=new B(); C c1=new C(); b1.display();

c1.display();

}

}

Output:

This is in B's method This is C's method

(iv)    Fourth form of interface implementation

interface A

{

void display();

}

interface B

{

void callme();

}

interface C extends A,B

{

void call();

}

class D implements C

{

public void display()

{

System.out.println("interface A");

}

public void callme()

{

System.out.println("interface B");

}

public void call()

{

System.out.println("interface C");

}

}

class interfacedemo

{

public static void main(String args[])

{

D d1=new D(); d1.display();

d1.callme();

d1.call();

}

}

Output: interface A interface B interface C

 

 

 

b)    Runtime Polymorphism

Program:

 

Aim: To write a JAVA program that implements Runtime polymorphism

 

class A

{

void display()

{

System.out.println("Inside A class");

}

}

class B extends A

{

void display()

{

System.out.println("Inside B class");

}

}

class C extends A

{

void display()

{

System.out.println("Inside C class");

}

}

class runtimedemo

{

public static void main(String args[])

{

A a1=new A(); B b1=new B(); C c1=new C(); A ref;

ref=c1; ref.display(); ref=b1; ref.display(); ref=a1; ref.display();

}

}

 

Output:

 

Inside C class Inside B class Inside A class



Case study on Runtime Polymorphism

Aim: To write a Case study on run time polymorphism, inheritance that implements in above problem

Dynamic method dispatch is the mechanism by which a call to an overridden method is resolved at run time, rather than compile time.

 

§  When an overridden method is called through a superclass reference, Java determines which version(superclass/subclasses) of that method is to be executed based upon the type of the object being referred to at the time the call occurs. Thus, this determination is made at run time.

§  At run-time, it depends on the type of the object being referred to (not the type of the reference variable) that determines which version of an overridden method will be executed

§  A superclass reference variable can refer to a subclass object. This is also known as upcasting. Java uses this fact to resolve calls to overridden methods at run time.

Text Box: SuperClass


Upcasting SuperClass obj=new SubClass

 

 

SubClass

 

extends

 

 

 

Therefore, if a superclass contains a method that is overridden by a subclass, then when different types of objects are referred to through a superclass reference variable, different versions of the method are executed. Here is an example that illustrates dynamic method dispatch:

 

The example is given by

 

Consider a scenario, Bank is a class that provides method to get the rate of interest. But, rate of interest may differ according to banks. For example, SBI, ICICI and AXIS banks are providing 8.4%, 7.3% and 9.7% rate of interest

 

Bank

 

getRateOfInterest():float

 

 

 

extends

 

 

 

 

SBI

 

ICICI

 

AXIS

 

 

 

getRateOfInterest():float

getRateOfInterest():float

getRateOfInterest():float


Exercise - 6

 Exercise -6

a)    Exception handling mechanism

Aim: To write a JAVA program that describes exception handling mechanism

 

Program:

Usage of Exception Handling:

 

class trydemo

{

public static void main(String args[])

{


try

{

 

 

}


 

int a=10,b=0; int c=a/b;

System.out.println(c);


catch(ArithmeticException e)

{

System.out.println(e);

}

System.out.println("After the catch statement");

}

}

 

Output:

java.lang.ArithmeticException: / by zero After the catch statement


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b)    Illustrating multiple catch classes

 

Program:

Aim: To write a JAVA program Illustrating Multiple catch clauses class multitrydemo

{

public static void main(String args[])

{


try

{

 

 

 

 

}


 

int a=10,b=5; int c=a/b;

int d[]={0,1}; System.out.println(d[10]); System.out.println(c);


catch(ArithmeticException e)

{

System.out.println(e);

}

catch(ArrayIndexOutOfBoundsException e)

{

System.out.println(e);

}

System.out.println("After the catch statement");

}

}

 

Output: java.lang.ArrayIndexOutOfBoundsException: 10 After the catch statement



 

 

 

 

 

 

 

 

 

 

 

                             c).creation of Java Built-in-Exceptions

                                                   Aim: To write a JAVA program for creation of Java Built-in Exceptions Programs:

(i)   Arithmetic exception

class arithmeticdemo

{

public static void main(String args[])

{


try

{

 

 

}


 

int a = 10, b = 0; int c = a/b;

System.out.println (c);


catch(ArithmeticException e)

{

System.out.println (e);

}

}

}

 

Output:

java.lang.ArithmeticException: / by zero

 

(ii) NullPointer Exception

class nullpointerdemo

{

public static void main(String args[])

{


try

{

 

 

}


 

String a = null; System.out.println(a.charAt(0));


catch(NullPointerException e)

{

System.out.println(e);

}

}

}

Output:

java.lang.NullPointerException

 

(iii)  StringIndexOutOfBound Exception

class stringbounddemo

{

public static void main(String args[])

{

try

{


String a = "This is like chipping "; char c = a.charAt(24); System.out.println(c);

}

catch(StringIndexOutOfBoundsException e)

{

System.out.println(e);

}

}

}

 

Output:

java.lang.StringIndexOutOfBoundsException: String index out of range: 24

 

(iv)  FileNotFound Exception

import java.io.*;

class filenotfounddemo

{

public static void main(String args[])

{


try

{

 

 

}


 

File file = new File("E://file.txt"); FileReader fr = new FileReader(file);


catch (FileNotFoundException e)

{

System.out.println(e);

}

}

}

Output:

java.io.FileNotFoundException: E:\file.txt (The system cannot find the file specified)

 

(v) NumberFormat Exception

 

class numberformatdemo

{

public static void main(String args[])

{


try

{

 

 

}


 

int num = Integer.parseInt ("akki") ; System.out.println(num);


catch(NumberFormatException e)

{

System.out.println(e);

}

}

}

 

Output:

java.lang.NumberFormatException: For input string: "akki"


 

(vi)  ArrayIndexOutOfBounds Exception

 

class arraybounddemo

{

public static void main(String args[])

{


try

{

 

 

}


 

int a[] = new int[5]; a[6] = 9;


catch(ArrayIndexOutOfBoundsException e)

{

System.out.println (e);

}

}

}

 

Output:

 

java.lang.ArrayIndexOutOfBoundsException: 6

 



 

 

                                   d).creation of User Defined Exception

                                   Aim: To write a JAVA program for creation of User Defined Exception                   Program:

class A extends Exception

{

A(String s1)

{

super(s1);

}

}

class owndemo

{

public static void main(String args[])

{


try

{

 

}


 

throw new A("demo ");


catch(Exception e)

{

System.out.println(e);

}

}

}

 

Output:

 

A: demo


 

Exercise –7

a)Extending Thread class

Aim: To write a JAVA program that creates threads by extending Thread class .First thread display “Good Morning “every 1 sec, the second thread displays “Hello “every 2 seconds and the third display “Welcome” every 3 seconds ,(Repeat the same by implementing Runnable)

 

Programs:

(i)   Creating multiple threads using Thread class

class A extends Thread

{

public void run()

{


try

{


 

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

{


sleep(1000); System.out.println("good morning");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class B extends Thread

{

public void run()

{


try

{


 

for(int j=1;j<=10;j++)

{


sleep(2000); System.out.println("hello");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class C extends Thread

{

public void run()

{

try

{


for(int k=1;k<=10;k++)

{

sleep(3000); System.out.println("welcome");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class threaddemo

{

public static void main(String args[])

{

A a1=new A(); B b1=new B(); C c1=new C(); a1.start();

b1.start();

c1.start();

}

}

Output:

good morning hello

good morning good morning welcome hello

good morning good morning hello

good morning welcome good morning hello

good morning good morning welcome hello

good morning hello welcome hello welcome hello

hello welcome hello welcome welcome welcome welcome


 

(ii)   Creating multiple threads using Runnable interface

class A implements Runnable

{

public void run()

{


try

{


 

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

{


Thread.sleep(1000); System.out.println("good morning");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class B implements Runnable

{

public void run()

{

try

{

for(int j=1;j<=10;j++)

{

Thread.sleep(2000); System.out.println("hello");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class C implements Runnable

{

public void run()

{


try

{


 

for(int k=1;k<=10;k++)

{


Thread.sleep(3000); System.out.println("welcome");

}

}

catch(Exception e)

{

System.out.println(e);

}


}

}

class runnabledemo

{

public static void main(String args[])

{

A a1=new A(); B b1=new B(); C c1=new C();

Thread t1=new Thread(a1); Thread t2=new Thread(b1); Thread t3=new Thread(c1); t1.start();

t2.start();

t3.start();

}

}

 

Output:

good morning good morning hello

good morning welcome good morning hello

good morning good morning welcome hello

good morning good morning hello

good morning welcome good morning hello welcome hello

hello welcome hello welcome hello hello welcome welcome welcome welcome


 

(b)Implementing isAlive() and join()

 

Aim: To write a program illustrating isAlive and join ()

 

Program:

 

class A extends Thread

{

public void run()

{


try

{


 

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

{


sleep(1000); System.out.println("good morning");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class B extends Thread

{

public void run()

{


try

{


 

for(int j=1;j<=10;j++)

{


sleep(2000); System.out.println("hello");

}

}

catch(Exception e)

{

System.out.println(e);

}

}

}

class C extends Thread

{

public void run()

{


try

{


 

for(int k=1;k<=10;k++)

{


sleep(3000); System.out.println("welcome");

}


}

catch(Exception e)

{

System.out.println(e);

}

}

}

class isalivedemo

{

public static void main(String args[])

{

A a1=new A(); B b1=new B(); C c1=new C(); a1.start();

b1.start();

c1.start(); System.out.println(a1.isAlive()); System.out.println(b1.isAlive()); System.out.println(c1.isAlive()); try

{

a1.join();

b1.join();

c1.join();

}

catch(InterruptedException e)

{

System.out.println(e);

}

System.out.println(a1.isAlive()); System.out.println(b1.isAlive()); System.out.println(c1.isAlive());

}

}


Output: true true true

good morning good morning hello

good morning welcome good morning hello

good morning good morning welcome hello

good morning good morning hello

good morning welcome


good morning hello welcome hello

hello welcome hello welcome hello hello welcome welcome welcome welcome false false false


C).Implementation of Daemon Threads

 

Aim: To write a Program illustrating Daemon Threads

 

Program:

 

class A extends Thread

{

public void run()

{

if(Thread.currentThread().isDaemon()) System.out.println("daemon thread work"); else

System.out.println("user thread work");

}

}

class daemondemo

{

public static void main(String[] args)

{

A a1=new A(); A a2=new A(); A a3=new A();

a1.setDaemon(true); a1.start();

a2.start();

a3.start();

}

}

 

Output:

daemon thread work user thread work user thread work


d)Producer-Consumer problem

Aim: Write a JAVA program Producer Consumer Problem

Program:

class A

{

int n;

boolean b=false; synchronized int get()

{


if(!b) try

{

 

}


 

wait();


catch(Exception e)

{

System.out.println(e);

}

System.out.println("Got:"+n); b=false;

notify(); return n;

}

synchronized void put(int n)

{


if(b) try

{

 

}


 

wait();


catch(Exception e)

{

System.out.println(e);

}

this.n=n; b=true;

System.out.println("Put:"+n); notify();

}

}

class producer implements Runnable

{

A a1;

Thread t1; producer(A a1)

{

this.a1=a1;

t1=new Thread(this); t1.start();

}

public void run()

{


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

{

a1.put(i);

}

}

}

 

class consumer implements Runnable

{

A a1;

Thread t1; consumer(A a1)

{

this.a1=a1;

t1=new Thread(this); t1.start();

}

public void run()

{

for(int j=1;j<=10;j++)

{

a1.get();

}

}

}

class interdemo

{

public static void main(String args[])

{

A a1=new A();

producer p1=new producer(a1); consumer c1=new consumer(a1);

}

}

Output: Put:1 Got:1 Put:2 Got:2 Put:3 Got:3 Put:4 Got:4 Put:5 Got:5 Put:6 Got:6 Put:7 Got:7 Put:8 Got:8 Put:9 Got:9 Put:10 Got:10


Case study on thread synchronization

 

Aim: To write a case study on thread Synchronization after solving the above producer consumer problem

 

A case study on thread synchronization after solving producer consumer problem:

 

v We can use wait, notify and notifyAll methods to communicate between threads in Java.

v For example, if we have two threads running in your program e.g.Producer and Consumer then producer thread can communicate to the consumer that it can start consuming now because there are items to consume in the queue.

v Similarly, a consumer thread can tell the producer that it can also start putting items now because there is some space in the queue, which is created as a result of consumption.

v A thread can use wait() method to pause and do nothing depending upon some condition.

v For example, in the producer-consumer problem, producer thread should wait if the queue is full and consumer thread should wait if the queue is empty.

v If some thread is waiting for some condition to become true, we can use notify and notifyAll methods to inform them that condition is now changed and they can wake up.

v Both notify() and notifyAll() method sends a notification but notify sends the notification to only one of the waiting thread, no guarantee which thread will receive notification and notifyAll() sends the notification to all threads.

 

Things to remember:

 

1.  We can use wait() and notify() method to implement inter-thread communication in Java. Not just one or two threads but multiple threads can communicate to each other by using these methods.

2.  Always call wait(), notify() and notifyAll() methods from synchronized method or synchronized block otherwise JVM will throw IllegalMonitorStateException.

3.  Always call wait and notify method from a loop and never from if() block, because loop test waiting condition before and after sleeping and handles notification even if waiting for the condition is not changed.

4.  Always call wait in shared object e.g. shared queue in this example.

5.  Prefer notifyAll() over notify() method due to reasons given in this article


Exercise-8

                               a)Creating and importing a package

 

Aim: To write a JAVA program that import and use the defined your package in the previous Problem

 

(i)   Creating a package:

Steps:

1.    First declare the name of the package using package keyword Example:    package mypack;

2.    Type the following program under this package statement. In package : class ,data, methods all are public

package mypack; public class box

{

public int l=10,b=20; public void display()

{

System.out.println(l); System.out.println(b);

}

}

3.    Create sub directory with a name same that of package name under the current working directory by as follows.        d:\>md mypack

4.    Under this subdirectory store the above program with a file name “box.java”.

(ii)   importing a package:

Steps:

1.    packages can be accessed by using the import statement General form: import pack1[.pack2].(classname/*); Example: import java.io.*;

Here pack1 is name of top level package and pack2 is name of sub package

2.    Type the following program under the current working directory and save the program with a file name “example.java”.

import mypack.box; class packagedemo

{

public static void main(String args[])

{

box b1=new box(); b1.display();

}

}

3.    Now compile the above program in the current working directory d:\ javac packagedemo.java

4.    Execute the above program in current working directory java packagedemo

 

 

Output:

10

20

SOLUTINON FOR package DEMO:

E:\rvs>

E:\rvs>MD MYPACK

MYPACK dir created


E:\rvs>CD MYPACK


Open notepad and edit box.java as following


package mypack;

public class box{

    public int l=10,b=20;

    public void display(){

        System.out.println(l);

        System.out.println(b);

    }

}

compile box.java

E:\rvs\mypack>javac box.java


E:\rvs\mypack>dir


24-10-2024  10:46    <DIR>          .

24-10-2024  10:46    <DIR>          ..

24-10-2024  10:46               442 box.class

24-10-2024  10:46               165 box.java

12-03-2024  09:16    <DIR>          mypack

               2 File(s)            607 bytes

               3 Dir(s)  346,772,185,088 bytes free


E:\rvs\mypack>cd..

E:\rvs>


Open notepad and edit packagedemo.java as following


import mypack.box;

class packagedemo{

    public static void main(String [] args){

        box b1=new box();

        b1.display();

    }

}

compile packagedemo.java


E:\rvs>javac packagedemo.java


interpret packagedemo


E:\rvs>java packagedemo


10

20





b)Build a GUI that display text in label and image in an ImageView

 

 Aim: build a GUI that display text in label and image in an

  ImageView (use JavaFX)

 Program:

import javafx.application.Application; 

import javafx.scene.Scene; 

import javafx.scene.layout.StackPane; 

import javafx.scene.text.Text; 

import javafx.stage.Stage; 

 

public class TextExample extends Application{ 

@Override 

public void start(Stage primaryStage) throws Exception { 

    // TODO Auto-generated method stub 

    Text text = new Text(); 

    text.setText("Hello !! Welcome to JavaTPoint"); 

    StackPane root = new StackPane(); 

    Scene scene = new Scene(root,300,400); 

    root.getChildren().add(text); 

    primaryStage.setScene(scene); 

    primaryStage.setTitle("Text Example"); 

    primaryStage.show(); 

public static void main(String[] args) { 

    launch(args); 

     

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c)    Build a Tip Calculator app using several JavaFX components

Aim: Build a Tip Calculator app using several JavaFX components and learn how to respond to user interactions with the GUI

Program:

import javafx.application.Application;  
import javafx.scene.Group;  
import javafx.scene.Scene;  
import javafx.scene.effect.ImageInput;  
import javafx.scene.image.Image;  
import javafx.scene.paint.Color;  
import javafx.scene.shape.Rectangle;  
import javafx.stage.Stage;  
public class ImageExample extends Application {  
@Override  
public void start(Stage primaryStage) throws Exception {  
    // TODO Auto-generated method stub  
    Image img = new Image("https://picsum.photos/536/354");  
    ImageInput imginput = new ImageInput();  
    Rectangle rect = new Rectangle();  
    imginput.setSource(img);  
   imginput.setX(20);  
    imginput.setY(100);  
    Group root = new Group();  
    rect.setEffect(imginput);  
    root.getChildren().add(rect);  
    Scene scene = new Scene(root,530,500,Color.BLACK);  
    primaryStage.setScene(scene);  
    primaryStage.setTitle("ImageInput Example");  
    primaryStage.show();  
}   
public static void main(String[] args) {  
    launch(args);  
}   
}   

 

 

 

 

 

 

 

 

 

 

 

 

import java.sql.*;
                                               Exercise-9
                        a) Connecting to a database using JDBC
 
Aim: a java program that connects to a database using JDBC

Program:
public class odbcdriver
{
public static void main(String s[])
{
try
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     Connection c=DriverManager.getConnection("jdbc:odbc:connect_ora","scott","tiger");
     DatabaseMetaData dm=c.getMetaData();
     System.out.println("Data Base Name :"+dm.getDatabaseProductName());
     System.out.println("Versio         :"+dm.getDatabaseProductVersion());
     System.out.println("User Name      :"+dm.getUserName());
     System.out.println("Driver name    :"+dm.getDriverName());
     System.out.println("Driver Version    :"+dm.getDriverVersion());
}
    catch(Exception e)
    {
          System.out.println(e);
    }
}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                     b)database using JDBC and insert values

Aim: a java program to connect to a database using JDBC and insert values into it.

Program:

import java.sql.*;
 import java.awt.*;
 import java.awt.event.*;
 
 public class odbcframe  extends Frame  implements ActionListener
 {
 
    TextField eno;
    TextField ename;
    Button next;
    Button addnew;
 
    Panel p;
    static ResultSet rs;
    static Connection c;
    static Statement st;
 
    public odbcframe()
    {
     super("The query Application:");
     setLayout(new GridLayout(5,1));
     eno=new  TextField(20);
     ename =new TextField(50);
     next =new Button("Next");
     addnew =new Button("AddNewRec");
 
     p=new Panel();
     add(new Label("Emp no:"));
     add(eno);
     add(new Label("Emp name:"));
     add(ename);
     add(p);
     p.add(next);
     p.add(addnew);
 
     next.addActionListener(this);
     addnew.addActionListener(this);
 
     pack();
     setVisible(true);
     }
 
     public static void main(String s[])
     {
     odbcframe obj=new odbcframe();
 
     try
     {  
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     c=DriverManager.getConnection("jdbc:odbc:connect_ora","scott","tiger");
     st=c.createStatement();
      rs=st.executeQuery("select empno,ename from empdet");
     rs.next();
     }
    catch(Exception e)
    {
    System.out.println("Error Inside.."+ e );
    }
    obj.showRecord(rs);
 }
     public void actionPerformed(ActionEvent event)
     {
          if(event.getSource()==next)
          {
               try
               {
                    rs.next();
               }
               catch(Exception e)
               {
               }
               showRecord(rs);
           }
          if(event.getSource()==addnew)
          {
                try
                {
                        addRecord();
                }
               catch(Exception e)
               {
               }
 
         }
 
 
     }
 
     public void showRecord(ResultSet rs)
     {
          try
          {
               eno.setText(rs.getString(1));
               ename.setText(rs.getString(2));
          }
          catch(Exception e)
          {
          }
      }
 
      public void addRecord()
      {
          try
          {
               st.executeUpdate("insert into empdet(empno,ename)  values("+Integer.parseInt(eno.getText())+",'"+ename.getText()+"')");
                          }
          catch(Exception e)
          {
                                       System.out.println(e.toString());
          }
     }
                    
}
 
  
 
 
 
     

 


No comments:

Post a Comment