0% found this document useful (0 votes)
2 views20 pages

Java

The document outlines various Java programming experiments, including FizzBuzz, abstract classes for bank accounts, prime number checking, a soldier elimination problem, multi-threaded number summation, and JDBC operations for database management. Each experiment includes the aim, code implementation, and expected outputs. Learning outcomes are mentioned for each experiment, emphasizing practical programming skills and concepts.

Uploaded by

maneetrathee98
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views20 pages

Java

The document outlines various Java programming experiments, including FizzBuzz, abstract classes for bank accounts, prime number checking, a soldier elimination problem, multi-threaded number summation, and JDBC operations for database management. Each experiment includes the aim, code implementation, and expected outputs. Learning outcomes are mentioned for each experiment, emphasizing practical programming skills and concepts.

Uploaded by

maneetrathee98
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 20

CSE B 07917702722 MANEET

Experiment 1
Aim: Write a Java program to print numbers from 1 to n. For multiples of 3,
print "Fizz" instead of the number, and for multiples of 5, print "Buzz". For
numbers that are multiples of both 3 and 5, print "FizzBuzz".

Code:
import java.util.Scanner;
class fizz {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter 1st number: ");
int a = sc.nextInt();
System.out.println("Enter 2nd number: ");
int b = sc.nextInt();
for(int i=a;i<=b;i++)
{
if(i%15==0)
System.out.println("FizzBuzz");
else if(i%3==0)
System.out.println("Fizz");
else if(i%5==0)
System.out.println("Buzz");
else
System.out.println(i);
}
}
}
CSE B 07917702722 MANEET

Output:

Learning Outcomes:
CSE B 07917702722 MANEET

Experiment 2
Aim: Create an abstract class BankAccount with the following:
a) An accountNumber (String) and balance (double) as instance variables.
b) A constructor to initialize the account number and balance.
c) Abstract methods:
• deposit(double amount)
• withdraw(double amount)
d) Create two subclasses:
SavingsAccount:
• Has an additional variable interestRate (double).
• Overrides the deposit method to add interest to the balance. • Withdrawals are
allowed only if the balance remains above a certain minimum (e.g., 500).
CurrentAccount:
• Has an additional variable overdraftLimit (double).
• Overrides the withdraw method to allow overdraft up to the specified limit.
Write a program that:
e) Creates objects of both subclasses.
f) Performs deposit and withdrawal operations.
g) Displays the final account details for each object.

Code:
abstract class BankAccount {
String accountNumber;
double balance;

BankAccount() {}
BankAccount(String a, double b) {
accountNumber = a;
balance = b;
}

abstract void deposit(double amount);


abstract void withdraw(double amount);

public void disp() {


System.out.println("Account number: " + accountNumber);
System.out.println("Balance: " + balance);
System.out.println();
}
CSE B 07917702722 MANEET

class SavingsAccount extends BankAccount {


double interestRate;
SavingsAccount() {}
SavingsAccount(String accountNumber, double balance, double ir) {
super(accountNumber, balance);
interestRate = ir;
}
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
balance += balance * (interestRate / 100);
System.out.println("Deposit successful. New Balance: " +
balance);
} else {
System.out.println("Invalid Amount");
}
}

public void withdraw(double amount) {


if (balance - amount > 500) {
balance -= amount;
System.out.println("Amount withdrawn: " + amount);
System.out.println("Balance amount is: " + balance);
} else {
System.out.println("Insufficient Balance");
}
}
}

class CurrentAccount extends BankAccount {


double overdraftLimit;
CurrentAccount(String accountNumber, double balance, double odl) {
super(accountNumber, balance);
overdraftLimit = odl;
CSE B 07917702722 MANEET

}
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
System.out.println("Deposit successful. New Balance: " +
balance);
} else {
System.out.println("Invalid Amount");
}
}
public void withdraw(double amount) {
if (balance - amount > overdraftLimit) {
balance -= amount;
System.out.println("Withdrawal Successful. New balance: " +
balance);
} else {
System.out.println("Invalid amount. Overdraft Limit
exceeded.");
}
}
}

public class Main {


public static void main(String[] args) {
SavingsAccount savingsAccount = new SavingsAccount("SA123", 1000,
5);
System.out.println("\nSavings Account:");
savingsAccount.disp();
savingsAccount.deposit(500);
savingsAccount.withdraw(200);
savingsAccount.withdraw(1000);
System.out.println("Final account details are:");
savingsAccount.disp();
System.out.println();
CurrentAccount currentAccount = new CurrentAccount("CA456", 2000,
1000);
System.out.println("\nCurrent Account:");
CSE B 07917702722 MANEET

currentAccount.disp();
currentAccount.deposit(300);
currentAccount.withdraw(2500);
currentAccount.withdraw(1000);

System.out.println("Final account details are:");


currentAccount.disp();
}
}
CSE B 07917702722 MANEET

Output:

Learning Outcomes:
CSE B 07917702722 MANEET

Experiment 3
Aim: Write an efficient code in java to check all the prime numbers in a given
range of numbers.
CSE B 07917702722 MANEET

Code:
import java.util.Scanner;
public class Prime1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter the starting number (a): ");
int a = sc.nextInt();
System.out.print("Enter the ending number (b): ");
int b = sc.nextInt();

for (int i = a; i <= b; i++) {


int c = 0;
if (i % 2 == 0 && i > 2) {
System.out.println(i + " is not a prime number");
continue;
}
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
c++;
break;
}
}
if (c == 0 && i > 1) {
System.out.println(i + " is a prime number");
CSE B 07917702722 MANEET

}
else {
System.out.println(i + " is not a prime number");
}
}
sc.close();
}
}

Output:

Learning Outcomes:
CSE B 07917702722 MANEET

Experiment 4
Aim: N soldiers (or people) stand in a circle. The king gives a sword to the first
soldier, who kills the person to their left and passes the sword to the next
surviving person. This process continues until only one person remains. Write a
java program to find the safe position to stand. Assuming first position is=1.

Theory:
CSE B 07917702722 MANEET

Code:
import java.util.Scanner;
public class Soldiers {
public static int solution(int n) {
if (n == 1)
return 1;
else
return (solution(n - 1) + 1) % n + 1;
}

public static void main(String[] args) {


Scanner sc = new Scanner(System.in);
System.out.print("Enter the number of soldiers: ");
int n = sc.nextInt();
sc.close();
int safePosition = solution(n);
System.out.println("The safe position is: " + safePosition);
}
}
CSE B 07917702722 MANEET

Output:

Learning Outcomes:
CSE B 07917702722 MANEET

Experiment 5
Aim: Write a two thread based program in java, where thread1 adds
all even numbers and thread2 adds all odd numbers from a given file
which has large number of positive integers.

Code:
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;
import java.util.Scanner;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class numbers {


public static void main(String[] args) {
try (FileWriter writer = new FileWriter("all.txt")) {
Random r = new Random();
for (int i = 0; i < 10; i++) {
int num = r.nextInt(1000) + 1;
writer.write(String.format("%d%n", num));
}
} catch (IOException e) {
System.err.println("Error writing to file: " +
e.getMessage());
}
System.out.println("\nRandom numbers saved to all.txt");

ExecutorService executor = Executors.newFixedThreadPool(2);


executor.submit(new EvenNumberAdder("all.txt"));
executor.submit(new OddNumberAdder("all.txt"));
executor.shutdown();
}
}

class EvenNumberAdder implements Runnable {


CSE B 07917702722 MANEET

private String filename;

public EvenNumberAdder(String filename) {


this.filename = filename;
}

@Override
public void run() {
try (Scanner scanner = new Scanner(new java.io.File(filename)))
{
int sum = 0;
while (scanner.hasNextInt()) {
int num = scanner.nextInt();
if (num % 2 == 0) {
sum += num;
}
}
System.out.println("Sum of even numbers: " + sum);
} catch (IOException e) {
System.err.println("Error reading from file: " +
e.getMessage());
}
}
}

class OddNumberAdder implements Runnable {


private String filename;

public OddNumberAdder(String filename) {


this.filename = filename;
}

@Override
public void run() {
try (Scanner scanner = new Scanner(new java.io.File(filename)))
{
int sum = 0;
CSE B 07917702722 MANEET

while (scanner.hasNextInt()) {
int num = scanner.nextInt();
if (num % 2 != 0) {
sum += num;
}
}
System.out.println("Sum of odd numbers: " + sum);
} catch (IOException e) {
System.err.println("Error reading from file: " +
e.getMessage());
}
}
}

Output:

Learning Outcomes:
CSE B 07917702722 MANEET

Experiment 6
Aim: Write a java program using Java Database
Connectivity (JDBC) to:
1. Fetch all the records from the employee table.
2. Search employee with empid
3. Update specific employee details
4. Delete a particular employee record
Employee has fields in MySQL Empid, EmpName,
EmpCity, EmpSalary.

Setup:
CSE B 07917702722 MANEET
CSE B 07917702722 MANEET

Code:
import java.sql.*;
import java.util.Scanner;

public class jdbc {


public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/maneet"; // Change
"testdb" to your database name
String user = "root"; // Default XAMPP user
String password = ""; // Default XAMPP password (empty)

try {
// Load MySQL JDBC Driver
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection(url, user,
password);
System.out.println("\nConnected to the database!");

Scanner scanner = new Scanner(System.in);

while (true) {
System.out.println("\nEnter an SQL query (or type 'exit'
to quit):");
String query = scanner.nextLine().trim();

if (query.equalsIgnoreCase("exit")) {
System.out.println("Exiting program...");
break;
}

try (Statement stmt = conn.createStatement()) {


if (query.toLowerCase().startsWith("select")) {
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData metaData = rs.getMetaData();
int columnCount = metaData.getColumnCount();

// Print column names


for (int i = 1; i <= columnCount; i++) {
System.out.printf("%-15s",
metaData.getColumnName(i));
}
System.out.println("\
n-------------------------------------------------");

// Print rows
while (rs.next()) {
for (int i = 1; i <= columnCount; i++) {
System.out.printf("%-15s",
rs.getString(i));
}
System.out.println();
}
} else {
CSE B 07917702722 MANEET

int rowsAffected = stmt.executeUpdate(query);


System.out.println("Query executed successfully.
Rows affected: " + rowsAffected);
}
} catch (SQLException e) {
System.out.println("Error executing query: " +
e.getMessage());
}
}

// Close resources
conn.close();
scanner.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

Output:

Learning Outcomes:

You might also like