Write a java program that implements a multi-threaded application that has three threads. First thread generates a random integer every 5 second and if the value is prime, second thread computesthe square of the number and prints and if the value is odd, the third thread will print the value of cube of the number.

Program:

import java.util.Random;

class Square extends Thread

{

int x;

Square(int n)

{

x = n;

}

public void run()

{

int sqr = x * x;

System.out.println(“Square of ” + x + ” = ” + sqr );

}

}

class Cube extends Thread

{

int x;

Cube(int n)

{x = n;

}

public void run()

{

int cub = x * x * x;

System.out.println(“Cube of ” + x + ” = ” + cub );

}

}

class Number extends Thread

{

public void run()

{

Random random = new Random();

for(int i =0; i<5; i++)

{

int randomInteger = random.nextInt(100);

System.out.println(“Random Integer generated : ” + randomInteger);

Square s = new Square(randomInteger);

s.start();

Cube c = new Cube(randomInteger);

c.start();

try {

Thread.sleep(1000);

} catch (InterruptedException ex) {

System.out.println(ex);

}

}

}

}

public class Thr {

public static void main(String args[])

{

Number n = new Number();

n.start();

}

}

Output:

Random Integer generated : 32
Square of 32 = 1024
Cube of 32 = 32768Random Integer generated : 35
Square of 35 = 1225
Cube of 35 = 42875
Random Integer generated : 45
Square of 45 = 2025
Cube of 45 = 91125
Random Integer generated : 70
Square of 70 = 4900
Cube of 70 = 343000Random Integer generated : 5
Square of 5 = 25
Cube of 5 = 125

Leave a comment