A1 + A2 Java
1. JDBC Program to Create and Fetch Data
import java.sql.*;
public class JDBCExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/testdb";
String user = "root";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, user,
password)) {
Statement stmt = conn.createStatement();
stmt.execute("CREATE TABLE IF NOT EXISTS Employee (id INT, name
VARCHAR(50), salary DOUBLE)");
stmt.execute("INSERT INTO Employee VALUES (1, 'Alice', 50000), (2,
'Bob', 60000), " +
"(3, 'Charlie', 70000), (4, 'David', 80000), (5, 'Eve', 90000)");
ResultSet rs = stmt.executeQuery("SELECT * FROM Employee");
while (rs.next()) {
System.out.println(rs.getInt("id") + " " + rs.getString("name")
+ " " + rs.getDouble("salary"));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
2. Program to Demonstrate synchronized Keyword
class SharedResource {
public synchronized void printNumbers() {
for (int i = 1; i <= 5; i++) {
System.out.println(Thread.currentThread().getName() + ": " + i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
1
}
}
}
public class SynchronizedExample {
public static void main(String[] args) {
SharedResource resource = new SharedResource();
Thread t1 = new Thread(() -> resource.printNumbers(), "Thread-1");
Thread t2 = new Thread(() -> resource.printNumbers(), "Thread-2");
t1.start();
t2.start();
}
}
3. Custom Exception for Insufficient Balance
class InsufficientBalanceException extends Exception {
public InsufficientBalanceException(String message) {
super(message);
}
}
public class CustomExceptionExample {
public static void main(String[] args) {
double balance = 5000;
double withdrawAmount = 6000;
try {
if (withdrawAmount > balance) {
throw new
InsufficientBalanceException("Insufficient balance for withdrawal.");
}
balance -= withdrawAmount;
System.out.println("Withdrawal successful. Remaining balance: " +
balance);
} catch (InsufficientBalanceException e) {
System.out.println(e.getMessage());
}
}
}
2
4. HashMap Operations
import java.util.HashMap;
public class HashMapOperations {
public static void main(String[] args) {
HashMap<Integer, String> map = new HashMap<>();
// Adding elements
map.put(1, "Alice");
map.put(2, "Bob");
map.put(3, "Charlie");
// Displaying elements
System.out.println("Initial HashMap: " + map);
// Removing an element
map.remove(2);
System.out.println("After removal: " + map);
// Updating an element
map.put(3, "David");
System.out.println("After update: " + map);
}
}
5. Finding the Middle Element in an Array
public class MiddleElement {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int middle = arr.length / 2;
if (arr.length % 2 == 0) {
System.out.println("Middle elements: " + arr[middle - 1] + ", " +
arr[middle]);
} else {
System.out.println("Middle element: " + arr[middle]);
}
}
}
3
A3 + A4 Java
1. Abstract Class Example
abstract class Animal {
String name;
public Animal(String name) {
this.name = name;
}
abstract void makeSound();
}
class Dog extends Animal {
public Dog(String name) {
super(name);
}
@Override
void makeSound() {
System.out.println(name + ": Bow Bow");
}
}
class Cat extends Animal {
public Cat(String name) {
super(name);
}
@Override
void makeSound() {
System.out.println(name + ": Meowww...");
}
}
public class AbstractExample {
public static void main(String[] args) {
Animal dog = new Dog("Bobby");
Animal cat = new Cat("Tommy");
dog.makeSound();
cat.makeSound();
}
}
4
2. Encapsulation with Student Class
class Student {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class EncapsulationExample {
public static void main(String[] args) {
Student student = new Student();
student.setName("Alice");
student.setAge(20);
System.out.println("Name: " + student.getName());
System.out.println("Age: " + student.getAge());
}
}
3. Composition and Aggregation Example
class Engine {
public void start() {
System.out.println("Engine started...");
}
}
class Car {
private Engine engine;
public Car() {
5
engine = new Engine();
}
public void drive() {
engine.start();
System.out.println("Car is driving...");
}
}
public class CompositionExample {
public static void main(String[] args) {
Car car = new Car();
car.drive();
}
}
4. Multiple Inheritance Using Interfaces
interface A {
void methodA();
}
interface B {
void methodB();
}
class C implements A, B {
@Override
public void methodA() {
System.out.println("Method A");
}
@Override
public void methodB() {
System.out.println("Method B");
}
}
public class InterfaceExample {
public static void main(String[] args) {
C obj = new C();
obj.methodA();
obj.methodB();
}
}
6
5. Counter Class with Static and Non-Static Variables
class Counter {
private static int count = 0;
private int instanceNumber;
public Counter() {
count++;
instanceNumber = count;
}
public void print() {
System.out.println("Instance Number: " + instanceNumber + ", Count: " +
count);
}
}
public class CounterExample {
public static void main(String[] args) {
Counter c1 = new Counter();
Counter c2 = new Counter();
Counter c3 = new Counter();
c1.print();
c2.print();
c3.print();
}
}