ja7
- Write a java program that implements a multi-thread application that has three threads.
First thread generates random integer number after every one second, if the number is
even; second thread computes the square of that number and print it. If the number is
odd, the third thread computes the of cube of that number and print it. [15 M]
import java.util.Random;
public class MultiThreadApplication {
public static void main(String[] args) {
NumberGeneratorThread generatorThread = new NumberGeneratorThread();
SquareCalculatorThread squareThread = new SquareCalculatorThread(generatorThread);
CubeCalculatorThread cubeThread = new CubeCalculatorThread(generatorThread);
generatorThread.start();
squareThread.start();
cubeThread.start();
}
}
class NumberGeneratorThread extends Thread {
private Random random = new Random();
@Override
public void run() {
try {
while (true) {
Thread.sleep(1000);
int number = random.nextInt(100);
System.out.println("Generated number: " + number);
synchronized (this) {
notifyAll();
}
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
synchronized int getNumber() throws InterruptedException {
wait();
return random.nextInt(100);
}
}
class SquareCalculatorThread extends Thread {
private NumberGeneratorThread generatorThread;
SquareCalculatorThread(NumberGeneratorThread generatorThread) {
this.generatorThread = generatorThread;
}
@Override
public void run() {
try {
while (true) {
int number = generatorThread.getNumber();
if (number % 2 == 0) {
int square = number * number;
System.out.println("Square of " + number + ": " + square);
}
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
class CubeCalculatorThread extends Thread {
private NumberGeneratorThread generatorThread;
CubeCalculatorThread(NumberGeneratorThread generatorThread) {
this.generatorThread = generatorThread;
}
@Override
public void run() {
try {
while (true) {
int number = generatorThread.getNumber();
if (number % 2 != 0) {
int cube = number * number * number;
System.out.println("Cube of " + number + ": " + cube);
}
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
- Write a java program for the following:
i. To create a Product(Pid, Pname, Price) table.
ii. Insert at least five records into the table.
iii. Display all the records from a table.
import java.sql.*;
public class ProductDatabase {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "username";
String password = "password";
try (Connection connection = DriverManager.getConnection(url, username, password)) {
// Create Product table
String createTableQuery = "CREATE TABLE Product (Pid INT PRIMARY KEY, Pname VARCHAR(50), Price DOUBLE)";
try (Statement statement = connection.createStatement()) {
statement.executeUpdate(createTableQuery);
}
// Insert records
String[] products = {"Laptop", "Phone", "Tablet", "Headphones", "Keyboard"};
double[] prices = {1000.0, 500.0, 300.0, 100.0, 50.0};
String insertQuery = "INSERT INTO Product (Pid, Pname, Price) VALUES (?, ?, ?)";
try (PreparedStatement preparedStatement = connection.prepareStatement(insertQuery)) {
for (int i = 0; i < products.length; i++) {
preparedStatement.setInt(1, i + 1);
preparedStatement.setString(2, products[i]);
preparedStatement.setDouble(3, prices[i]);
preparedStatement.executeUpdate();
}
}
// Display all records
String selectQuery = "SELECT * FROM Product";
try (Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(selectQuery)) {
System.out.println("Product Table:");
System.out.println("Pid\tPname\tPrice");
while (resultSet.next()) {
int pid = resultSet.getInt("Pid");
String pname = resultSet.getString("Pname");
double price = resultSet.getDouble("Price");
System.out.println(pid + "\t" + pname + "\t" + price);
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}