OneCompiler

JAVA 7

119

7 multi-thread application && Product (Pid, Pname, Price) table.

Q1]

import java.util.Random;

public class NumberProcessor {
public static void main(String[] args) {
RandomNumberGenerator randomNumberGenerator = new RandomNumberGenerator();
NumberSquareCalculator numberSquareCalculator = new NumberSquareCalculator();
NumberCubeCalculator numberCubeCalculator = new NumberCubeCalculator();

    randomNumberGenerator.start();
    numberSquareCalculator.start();
    numberCubeCalculator.start();
}

}

class RandomNumberGenerator extends Thread {
public void run() {
Random random = new Random();
try {
while (true) {
int number = random.nextInt(100);
System.out.println("Generated number: " + number);
if (number % 2 == 0) {
NumberSquareCalculator.queue.add(number);
} else {
NumberCubeCalculator.queue.add(number);
}
Thread.sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}

class NumberSquareCalculator extends Thread {
public static BlockingQueue<Integer> queue = new LinkedBlockingQueue<>();

public void run() {
    try {
        while (true) {
            int number = queue.take();
            int square = number * number;
            System.out.println("Square of " + number + " is: " + square);
        }
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

}

class NumberCubeCalculator extends Thread {
public static BlockingQueue<Integer> queue = new LinkedBlockingQueue<>();

public void run() {
    try {
        while (true) {
            int number = queue.take();
            int cube = number * number * number;
            System.out.println("Cube of " + number + " is: " + cube);
        }
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

}

Q2]

import java.sql.*;

public class ProductManagement {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/your_database_name";

static final String USER = "your_username";
static final String PASS = "your_password";

public static void main(String[] args) {
    Connection conn = null;
    Statement stmt = null;
    try {
      
        Class.forName(JDBC_DRIVER);

        
        System.out.println("Connecting to database...");
        conn = DriverManager.getConnection(DB_URL, USER, PASS);

       
        System.out.println("Creating statement...");
        stmt = conn.createStatement();

     
        System.out.println("Creating Product table...");
        String createTableSQL = "CREATE TABLE Product ("
                + "Pid INT AUTO_INCREMENT PRIMARY KEY,"
                + "Pname VARCHAR(255),"
                + "Price DECIMAL(10, 2)"
                + ")";
        stmt.executeUpdate(createTableSQL);
        System.out.println("Product table created successfully");

        
        System.out.println("Inserting records into Product table...");
        String insertSQL = "INSERT INTO Product (Pname, Price) VALUES (?, ?)";
        PreparedStatement preparedStatement = conn.prepareStatement(insertSQL);
        preparedStatement.setString(1, "Product 1");
        preparedStatement.setDouble(2, 10.99);
        preparedStatement.executeUpdate();

        preparedStatement.setString(1, "Product 2");
        preparedStatement.setDouble(2, 20.99);
        preparedStatement.executeUpdate();

        preparedStatement.setString(1, "Product 3");
        preparedStatement.setDouble(2, 30.99);
        preparedStatement.executeUpdate();

        preparedStatement.setString(1, "Product 4");
        preparedStatement.setDouble(2, 40.99);
        preparedStatement.executeUpdate();

        preparedStatement.setString(1, "Product 5");
        preparedStatement.setDouble(2, 50.99);
        preparedStatement.executeUpdate();

        System.out.println("Records inserted successfully");

      
        System.out.println("Displaying all records from Product table...");
        String selectSQL = "SELECT * FROM Product";
        ResultSet rs = stmt.executeQuery(selectSQL);
        while (rs.next()) {
            int Pid = rs.getInt("Pid");
            String Pname = rs.getString("Pname");
            double Price = rs.getDouble("Price");

            System.out.println("Pid: " + Pid + ", Pname: " + Pname + ", Price: " + Price);
        }
        rs.close();

    } catch (SQLException se) {
        se.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (stmt != null) stmt.close();
        } catch (SQLException se2) {
        }
        try {
            if (conn != null) conn.close();
        } catch (SQLException se) {
            se.printStackTrace();
        }
    }
    System.out.println("Goodbye!");
}

}