EX NO : Solving Simple Programs Using Java
DATE :
1. Factorial
PROGRAM
import [Link];
public class fact {
public static void main (String args[]){
int num = 6;
int f=1;
for (int i=1;i<=num; i++){
f *= i;
}
[Link]("Factorial of 6 is:" + f);
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java facto
Enter Integer
4
Factorial : 24
2. Fibonacci
PROGRAM
import [Link];
public class fibonacci{
public static void main(String args[]) {
Scanner obj = new Scanner([Link]);
[Link]("Enter the number of terms: ");
int n = [Link]();
int x1 = 0, x2 = 1;
[Link]("The Fibonacci series is: ");
for (int i = 0; i < n; i++) {
if (i == 0) {
[Link](x1 +"\t");
} else if (i == 1) {
[Link](x2 +"\t");
} else {
int x3 = x1 + x2;
[Link](x3 +"\t");
x1 = x2;
x2 = x3;
}
}
[Link]();
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java fibo
Enter the number of terms: 5
The Fibonacci series is: 0 1 1 2 3
3. BINARY SEARCH
PROGRAM
import java. [Link];
public class bino{
public static void main(String args[]){
Scanner obj = new Scanner([Link]);
[Link]("Enter the size of array: ");
int size = [Link]();
[Link]("Enter the elements: ");
int arr[] = new int[size];
for (int i=0; i<size; i++){
arr[i] = [Link]();
}
[Link]("Enter the element to search for : ");
int x = [Link]();
int low =0,high = size-1, mid;
while (low<=high){
mid = (low+high)/2;
if (arr[mid]== x){
[Link]("Element is found in index: " + mid);
return;
}
else if (arr[mid]<x){
low= mid +1;
}
else{
high = mid - 1;
}
}
[Link]("Element is not found");
[Link]();
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java bino
Enter the size of array: 5
Enter the elements: 10 20 30 40 50
Enter the element to search for : 40
Element is found in index: 3
4. SELECTION SORT
PROGRAM
public class Selecto {
public static void selectionSort(int[] arr) {
int n = [Link];
for (int i = 0; i < n - 1; i++) {
int min_idx = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
int temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
}
public static void main(String[] args) {
int[] data = {64, 25, 12, 22, 11};
[Link]("Original array:");
for (int num : data) {
[Link](num + " ");
}
[Link]();
selectionSort(data);
[Link]("Sorted array:");
for (int num : data) {
[Link](num + " ");
}
[Link]();
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java Selecto
Original array:
64 25 12 22 11
Sorted array:
11 12 22 25 64
5. INSERTION SORT
PROGRAM
import [Link];
public class Inserto {
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
[Link]("Enter the number of elements: ");
int n = [Link]();
int[] arr = new int[n];
[Link]("Enter " + n + " elements:");
for (int i = 0; i < n; i++) {
arr[i] = [Link]();
}
for (int i = 1; i < n; i++) {
int currentElement = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > currentElement) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = currentElement;
}
[Link]("\nSorted array:");
for (int i = 0; i < n; i++) {
[Link](arr[i] + " ");
}
[Link]();
[Link]();
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java Inserto
Enter the number of elements: 5
Enter 5 elements:
80 40 70 30 10
Sorted array:
10 30 40 70 80
EX NO :
DATE :
1) Create a class called Book that encapsulates the following details:
title (String)
author (String)
price (double)
PROGRAM
FILE 1
public class book {
private String title;
private String author;
private double price;
public String getTitle() {
return title;
}
public void setTitle(String title) {
[Link] = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
[Link] = author;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
if (price >= 0) {
[Link] = price;
} else {
[Link]("Price cannot be negative. Setting price to 0.");
[Link] = 0;
}
}
}
FILE 2
import [Link];
public class Library {
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
book mybook = new book();
[Link]("Enter book title: ");
String title = [Link]();
[Link](title);
[Link]("Enter author name: ");
String author = [Link]();
[Link](author);
[Link]("Enter book price: ");
while (![Link]()) {
[Link]("Invalid input! Please enter a valid price (number).");
[Link]();
}
double price = [Link]();
[Link](price);
[Link]("\nBook Details:");
[Link]("Title: " + [Link]());
[Link]("Author: " + [Link]());
[Link]("Price: Rs. " + [Link]());
[Link]();
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java Library
Enter book title: Nimso
Enter author name: Carl Sager
Enter book price: 3999
Book Details:
Title: Nimso
Author: Carl Sager
Price: Rs. 3999.0
2) Create a class Employee to store and manage the details of an employee in a
company.
Fields (make these private):
employeeId (int)
employeeName (String)
salary (double)
PROGRAM
FILE 1
public class employee {
private int id;
private String name;
private double salary;
public int getid() {
return id;
}
public void setid(int id) {
[Link] = id;
}
public String getname() {
return name;
}
public void setname(String name) {
[Link] = name;
}
public double getsalary() {
return salary;
}
public void setsalary(double salary) {
[Link] = salary;
[Link]("Salary must be at least ₹10000.");
}
}
FILE 2
import [Link];
public class company {
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
employee emp = new employee();
[Link]("Enter Employee ID : ");
int id = [Link]();
[Link](id);
[Link]();
[Link]("Enter Employee name: ");
String name = [Link]();
[Link](name);
[Link]("Enter Employee salary: ");
double salary = [Link]();
[Link](salary);
[Link]("\nEmployee Details:");
[Link]("ID : " + [Link]());
[Link]("Name: " + [Link]());
[Link]("Salery : Rs. " + [Link]());
[Link]();
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java company
Enter Employee ID : 4013
Enter Employee name: Nimso
Enter Employee salary: 50000
Employee Details:
ID : 4013
Name: Nimso
Salery : Rs. 50000.0
3) Create a class BankAccount that manages customer bank details.
Private Fields:
accountNumber (long)
accountHolderName (String)
balance (double)
PROGRAM
FILE 1
public class customer {
private int bankid;
private String name;
private double balance;
public int getbankid() {
return bankid;
}
public void setbankid(int bankid) {
[Link] = bankid;
}
public String getname() {
return name;
}
public void setname(String name) {
[Link] = name;
}
public double getbalance() {
return balance;
}
public void setbalance(double balance) {
[Link] = balance;
}
}
FILE 2
import [Link];
public class bank {
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
customer cust = new customer();
[Link]("Enter Employee bankid : ");
int bankid = [Link]();
[Link](bankid);
[Link]();
[Link]("Enter name: ");
String name = [Link]();
[Link](name);
[Link]("Enter balance: ");
double balance = [Link]();
[Link](balance);
[Link]("\n Bank Details:");
[Link]("bankid : " + [Link]());
[Link]("Name: " + [Link]());
[Link]("Balance : Rs. " + [Link]());
[Link]();
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java bank
Enter Employee bankid : 4013
Enter name: Nimso
Enter balance: 123456
Bank Details:
bankid : 4013
Name: Nimso
Balance : Rs. 123456
EX NO :
DATE :
Develop a java application with an Employee class with Emp_name, Emp_id,
Address, Mail_id, and Mobile_no as members. Inherit the classes, Programmer,
Assistant Professor, Associate Professor, and A Professor from the employee class.
Add Basic Pay (BP) as a member of all the inherited classes with 97% of BP as DA,
10 % of BP as HRA, 12% of BP as PF, and 0.1% of BP as staff club funds. Generate
pay slips for the employees with their gross and net salary.
PROGRAM
import [Link];
class Emp_comp {
String empName, empId, address, mailId;
long mobileNo;
double basicPay;
double da, hra, pf, staffClub, grossSalary, netSalary;
public void getDetails(Scanner sc) {
[Link]("Enter Employee Name: ");
empName = [Link]();
[Link]("Enter Employee ID: ");
empId = [Link]();
[Link]("Enter Address: ");
address = [Link]();
[Link]("Enter Mail ID: ");
mailId = [Link]();
[Link]("Enter Mobile Number: ");
mobileNo = [Link]([Link]());
}
public void getBasicPay(Scanner sc) {
[Link]("Enter Basic Pay: ");
basicPay = [Link]([Link]());
}
public void calculateSalary() {
da = 0.97 * basicPay;
hra = 0.10 * basicPay;
pf = 0.12 * basicPay;
staffClub = 0.001 * basicPay;
grossSalary = basicPay + da + hra;
netSalary = grossSalary - (pf + staffClub);
}
public void displayDetails(String role) {
[Link]("\n--- Pay Slip: " + role + " ---");
[Link]("Employee Name : " + empName);
[Link]("Employee ID : " + empId);
[Link]("Address : " + address);
[Link]("Mail ID : " + mailId);
[Link]("Mobile Number : " + mobileNo);
[Link]("Basic Pay : %.2f\n", basicPay);
[Link]("Gross Salary : %.2f\n", grossSalary);
[Link]("Net Salary : %.2f\n", netSalary);
}
}
class Programmer extends Emp_comp {
public void generatePaySlip(Scanner sc) {
getDetails(sc);
getBasicPay(sc);
calculateSalary();
displayDetails("Programmer");
}
}
class AssistantProfessor extends Emp_comp {
public void generatePaySlip(Scanner sc) {
getDetails(sc);
getBasicPay(sc);
calculateSalary();
displayDetails("Assistant Professor");
}
}
class AssociateProfessor extends Emp_comp {
public void generatePaySlip(Scanner sc) {
getDetails(sc);
getBasicPay(sc);
calculateSalary();
displayDetails("Associate Professor");
}
}
class Professor extends Emp_comp {
public void generatePaySlip(Scanner sc) {
getDetails(sc);
getBasicPay(sc);
calculateSalary();
displayDetails("Professor");
}
}
public class Employee {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
while (true) {
[Link]("\nChoose Employee Type:");
[Link]("1. Programmer");
[Link]("2. Assistant Professor");
[Link]("3. Associate Professor");
[Link]("4. Professor");
[Link]("5. Exit");
[Link]("Enter choice: ");
int choice = [Link]([Link]());
switch (choice) {
case 1:
new Programmer().generatePaySlip(sc);
break;
case 2:
new AssistantProfessor().generatePaySlip(sc);
break;
case 3:
new AssociateProfessor().generatePaySlip(sc);
break;
case 4:
new Professor().generatePaySlip(sc);
break;
case 5:
[Link]("Exiting program. Thank you!");
[Link]();
return;
default:
[Link]("Invalid choice. Please try again.");
}
}
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java Employee
Choose Employee Type:
1. Programmer
2. Assistant Professor
3. Associate Professor
4. Professor
5. Exit
Enter choice: 1
Enter Employee Name: Tiffany
Enter Employee ID: 40123
Enter Address: London
Enter Mail ID: tiffany@[Link]
Enter Mobile Number: 9123456789
Enter Basic Pay: 999999
--- Pay Slip: Programmer ---
Employee Name : Tiffany
Employee ID : 40123
Address : London
Mail ID : tiffany@[Link]
Mobile Number : 9123456789
Basic Pay : 999999.00
Gross Salary : 2069997.93
Net Salary : 1948998.05
Choose Employee Type:
1. Programmer
2. Assistant Professor
3. Associate Professor
4. Professor
5. Exit
Enter choice: 5
Exiting program. Thank you!
EX NO :
DATE :
Develop a Java Program to create an abstract class named Shape that contains two
integers, and an empty method named printArea(). Provide three classes named
Rectangle, Triangle and Circle such that each one of the classes extends the class
Shape. Each one of the classes contains only the method printArea() that prints the
area of the given shape.
PROGRAM
import [Link];
abstract class Shape{
abstract void printArea(int x, int y);
}
class Rectangle extends Shape{
void printArea(int x, int y){
[Link]("Area of rectangle is "+x*y);
}
}
class Triangle extends Shape{
void printArea(int x, int y){
[Link]("Area of triangle is "+0.5*x*y);
}
}
class circle extends Shape{
void printArea(int x, int y){
[Link]("Area of circle is "+3.14*x*y);
}
}
public class abstro {
public static void main(String[] args) {
Scanner obj1 = new Scanner([Link]);
[Link]("Enter length");
int num1 = [Link]();
Scanner obj2 = new Scanner([Link]);
[Link]("Enter breadth");
int num2 = [Link]();
Scanner o1 = new Scanner([Link]);
[Link]("Enter Base");
int a = [Link]();
Scanner o2 = new Scanner([Link]);
[Link]("Enter height");
int b = [Link]();
Scanner oj1 = new Scanner([Link]);
[Link]("Enter Radius");
int rad = [Link]();
Triangle t = new Triangle();
[Link](a, b);
Rectangle r = new Rectangle();
[Link](num1, num2);
circle c = new circle();
[Link](rad,rad);
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java intero
Enter length 5
Enter breadth 2
Enter base 5
Enter height 2
Enter radius 5
Area of Triangle is: 5.0
Area of Rectangle is: 10
Area of Circle is: 78.5
EX NO :
DATE :
Develop a Java Program to create an interface named Shape that contains two
integers, and an empty method named printArea(). Provide three classes named
Rectangle, Triangle and Circle such that each one of the classes extends the class
Shape. Each one of the classes contains only the method printArea() that prints the
area of the given shape.
PROGRAM
import [Link];
interface Shape {
void printArea(int x, int y);
}
class Rectangle implements Shape {
public void printArea(int x, int y) {
[Link]("Area of Rectangle is: " + x * y);
}
}
class Circle implements Shape {
public void printArea(int x, int y) {
[Link]("Area of Circle is: " + (x * x * 3.14));
}
}
class Triangle implements Shape {
public void printArea(int x, int y) {
[Link]("Area of Triangle is: " + (0.5 * x * y));
}
}
public class intero {
public static void main(String[] args) {
Scanner scanner = new Scanner([Link]);
[Link]("Enter length of the rectangle:");
int num1 = [Link]();
[Link]("Enter breadth of the rectangle:");
int num2 = [Link]();
[Link]("Enter base of the triangle:");
int a = [Link]();
[Link]("Enter height of the triangle:");
int b = [Link]();
[Link]("Enter radius of the circle:");
int rad = [Link]();
Triangle t = new Triangle();
[Link](a, b);
Rectangle r = new Rectangle();
[Link](num1, num2);
Circle c = new Circle();
[Link](rad, rad);
[Link]();
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java intero
Enter length of the rectangle: 5
Enter breadth of the rectangle: 2
Enter base of the triangle: 5
Enter height of the triangle: 2
Enter radius of the circle: 5
Area of Triangle is: 5.0
Area of Rectangle is: 10
Area of Circle is: 78.5
EX NO :
DATE :
Develop a program that takes as input the size of the array and the elements in the
array and asks the user to enter a particular index and prints the element at that index.
This program should generate different exceptions. To handle these exceptions, use
exception handling mechanisms.
PROGRAM
import [Link];
import [Link];
public class Search{
public static void main (String args []){
Scanner sc = new Scanner ([Link]);
try{
[Link]("Enter size of array: ");
int size = [Link]();
if (size<=0){
throw new IllegalArgumentException ("Array size must be positive");
}
int arr[] = new int [size];
[Link]("Enter elements of the array: ");
for (int i=0; i<size; i++){
arr[i] = [Link]();
}
[Link]("Enter the index of the search element: ");
int n = [Link]();
[Link]("The element at index" +n+ "is: "+arr[n]);
} catch (InputMismatchException e ){
[Link]("Error: Enter a valid integer.");
}
catch (ArrayIndexOutOfBoundsException e ){
[Link]("Error: Index out of bounds");
}
catch (Exception e){
[Link]("Some error occured" );
}
finally{
[Link]();
}
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java search
Enter size of array: 5
Enter elements of the array: 10 20 30 40 50
Enter the index of the search element: 8
Error: Index out of bounds
EX NO : STRING HANDLING
DATE :
1. Develop a Java program to demonstrate various string handling mechanisms.
1. Accept two strings as input from the user.
2. Perform and display the following operations:
• Concatenate the two strings.
• Compare the two strings using both equals() and compareTo().
• Extract and display a substring from the first string.
• Convert both strings to uppercase and lowercase.
• Trim extra spaces from a sample string.
• Replace a word in one of the strings with another word.
• Use StringBuffer to append, insert, replace, delete, and reverse content.
PROGRAM
import [Link];
import [Link];;
public class StringExample {
public static void main(String[] args) {
String s1 = "Lemon";
String s2 = "Tea";
String s3 = "lemon";
[Link]([Link](s3));
[Link]([Link](s3));
[Link]([Link](s2));
[Link]([Link](s3));
[Link]([Link](s3));
[Link]([Link]("e"));
[Link]([Link]("e"));
[Link]([Link](2));
[Link]([Link](2, 4));
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\java> javac [Link] PS C:\Users\I11-
14\Desktop\Abhijeet\java> java StringExample
false
true
LemonTea
-32
mon
mo
LEMO
N
Lemon
5
EX NO : FILE HANDLING
DATE :
1. Develop a Java program to perform file operations (Count the number of
times a character appears in a file, Copy the content from one file to another).
PROGRAM
import
[Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class file_handli { public static void countCharacterInFile(String filePath,
char targetChar) { int count = 0; try (BufferedReader reader = new
BufferedReader(new FileReader(filePath))) { int character; while
((character = [Link]()) != -1) { if (character == targetChar) {
count++;
[Link]("The character '" + targetChar + "' appears " + count + " times.");
catch (IOException e) {
[Link]("Error reading file: " + [Link]());
public static void copyFileContent(String sourcePath, String destinationPath) {
try (
BufferedReader reader = new BufferedReader(new
FileReader(sourcePath)); FileWriter writer = new
FileWriter(destinationPath)) { int character; while ((character =
[Link]()) != -1) { [Link](character);
[Link]("Content copied from " + sourcePath + " to " + destinationPath);
catch (IOException e) {
[Link]("Error copying file: " + [Link]());
public static void main(String[] args) {
String sourceFile = "[Link]"; String
destinationFile = "[Link]";
char characterToFind = 'e';
countCharacterInFile(sourceFile, characterToFind);
[Link]();
copyFileContent(sourceFile, destinationFile);
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\java> java File_handli.java
PS C:\Users\I11-14\Desktop\Abhijeet\java> java File_handli
[Link]
[Link]
EX NO :10 GENERICS
DATE :
1. Develop applications to demonstrate features of generic classes.
i. Student Marks Calculator
PROGRAM
import [Link];
import [Link];
class Marks<T extends Number> {
private List<T> studentMarks;
public Marks() {
[Link] = new ArrayList<>();
}
public void addMark(T mark) {
[Link](mark);
}
public double calculateAverage() {
if ([Link]()) {
return 0.0;
}
double sum = 0.0;
for (T mark : studentMarks) {
sum += [Link]();
}
return sum / [Link]();
}
}
public class Calc_gen {
public static void main(String[] args) {
[Link](" Calculating average for Integer marks ");
Marks<Integer> integerMarks = new Marks<>();
[Link](85);
[Link](92);
[Link](78);
[Link](89);
double integerAverage = [Link]();
[Link]("Average of Integer marks: " + integerAverage);
[Link]();
[Link]("--- Calculating average for Double marks ---");
Marks<Double> doubleMarks = new Marks<>();
[Link](95.5);
[Link](88.0);
[Link](91.2);
[Link](79.8);
double doubleAverage = [Link]();
[Link]("Average of Double marks: " + doubleAverage);
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac calc_gen.java
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java calc_gen
Calculating average for Integer marks
Average of Integer marks: 86.0
--- Calculating average for Double marks ---
Average of Double marks: 88.625
ii. Libray System
PROGRAM
import [Link];
import [Link];
class Book {
private String title;
private String author;
public Book(String title, String author) {
[Link] = title;
[Link] = author;
}
public String getTitle() {
return title;
}
public String getAuthor() {
return author;
}
}
class FictionBook extends Book {
private String genre;
public FictionBook(String title, String author, String genre) {
super(title, author);
[Link] = genre;
}
public String getGenre() {
return genre;
}
}class ScienceBook extends Book {
private String field;
public ScienceBook(String title, String author, String field) {
super(title, author);
[Link] = field;
}
public String getField() {
return field;
}
}
class HistoryBook extends Book {
private String era;
public HistoryBook(String title, String author, String era) {
super(title, author);
[Link] = era;
}
public String getEra() {
return era;
}
}
class Library<T extends Book> {
private List<T> books;
public Library() {
[Link] = new ArrayList<>();
}
public void addBook(T book) {
[Link](book);
}
public void displayBooks() {
if ([Link]()) {
[Link]("No books in this library section.");
return;
}
[Link]("--- Displaying Books ---");
for (T book : books) {
if (book instanceof FictionBook) {
FictionBook fictionBook = (FictionBook) book;
[Link]("Fiction Book - Title: \"%s\", Author: %s, Genre: %s%n",
[Link](), [Link](),
[Link]());
} else if (book instanceof ScienceBook) {
ScienceBook scienceBook = (ScienceBook) book;
[Link]("Science Book - Title: \"%s\", Author: %s, Field: %s%n",
[Link](), [Link](),
[Link]());
} else if (book instanceof HistoryBook) {
HistoryBook historyBook = (HistoryBook) book;
[Link]("History Book - Title: \"%s\", Author: %s, Era: %s%n",
[Link](), [Link](),
[Link]());
} else {
[Link]("Book - Title: \"%s\", Author: %s%n", [Link](),
[Link]());
}
}
}
}
public class library_gen {
public static void main(String[] args) {
[Link]("Fiction Library Section");
Library<FictionBook> fictionLibrary = new Library<>();
[Link](new FictionBook("The Hobbit", "J.R.R. Tolkien",
"Fantasy"));
[Link](new FictionBook("Dune", "Frank Herbert", "Science
Fiction"));
[Link]();
[Link]();
[Link]("Science Library Section");
Library<ScienceBook> scienceLibrary = new Library<>();
[Link](new ScienceBook("A Brief History of Time", "Stephen
Hawking", "Physics"));
[Link](new ScienceBook("Cosmos", "Carl Sagan",
"Astronomy"));
[Link]();
[Link]();
[Link](" History Library Section");
Library<HistoryBook> historyLibrary = new Library<>();
[Link](new HistoryBook("Sapiens", "Yuval Noah Harari",
"Ancient History"));
[Link](new HistoryBook("1776", "David McCullough",
"American Revolution"));
[Link]();
[Link]();
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac library_gen.java
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java library_gen
Fiction Library Section
--- Displaying Books ---
Fiction Book - Title: "The Hobbit", Author: J.R.R. Tolkien, Genre: Fantasy
Fiction Book - Title: "Dune", Author: Frank Herbert, Genre: Science Fiction
Science Library Section
--- Displaying Books ---
Science Book - Title: "A Brief History of Time", Author: Stephen Hawking, Field:
Physics
Science Book - Title: "Cosmos", Author: Carl Sagan, Field: Astronomy
History Library Section
--- Displaying Books ---
History Book - Title: "Sapiens", Author: Yuval Noah Harari, Era: Ancient History
History Book - Title: "1776", Author: David McCullough, Era: American Revolution
iii. Generic Storage System
PROGRAM
class Storage<T> {
private T item;
public void addItem(T item) {
[Link] = item;
[Link]("Stored item: " + item);
}
public T getItem() {
return item;
}
}
class Book {
private String title;
private String author;
public Book(String title, String author) {
[Link] = title;
[Link] = author;
}
public String toString() {
return "Book [Title: '" + title + "', Author: '" + author + "']";
}
}
class Pen {
private String color;
private String brand;
public Pen(String color, String brand) {
[Link] = color;
[Link] = brand;
}
public String toString() {
return "Pen [Color: '" + color + "', Brand: '" + brand + "']";
}
}
public class Storage_gen {
public static void main(String[] args) {
[Link]("--- Storing and retrieving a Book ---");
Storage<Book> bookStorage = new Storage<>();
Book myBook = new Book("The Great Gatsby", "F. Scott Fitzgerald");
[Link](myBook);
Book retrievedBook = [Link]();
[Link]("Retrieved from storage: " + retrievedBook);
[Link]();
[Link]("--- Storing and retrieving a Pen ---");
Storage<Pen> penStorage = new Storage<>();
Pen myPen = new Pen("Blue", "Parker");
[Link](myPen);
Pen retrievedPen = [Link]();
[Link]("Retrieved from storage: " + retrievedPen);
[Link]();
[Link]("--- Storing and retrieving a String ---");
Storage<String> stringStorage = new Storage<>();
String myString = "This is a stored message.";
[Link](myString);
String retrievedString = [Link]();
[Link]("Retrieved from storage: " + retrievedString);
[Link]();
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac storage_gen.java
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java storage_gen
--- Storing and retrieving a Book ---
Stored item: Book [Title: 'The Great Gatsby', Author: 'F. Scott Fitzgerald']
Retrieved from storage: Book [Title: 'The Great Gatsby', Author: 'F. Scott Fitzgerald']
--- Storing and retrieving a Pen ---
Stored item: Pen [Color: 'Blue', Brand: 'Parker']
Retrieved from storage: Pen [Color: 'Blue', Brand: 'Parker']
--- Storing and retrieving a String ---
Stored item: This is a stored message.
Retrieved from storage: This is a stored message.
EX NO :11 GENERICS CLASS - SEARCH
DATE :
1. Develop a Java program to search for an element in an array using generic
classes.
PROGRAM
public class gen_search {
public static void main(String[] args) {
[Link]("--- Searching in Integer Array ---");
Integer[] integerArray = { 10, 20, 30, 40, 50 };
Integer intToFind = 30;
ArraySearcher<Integer> integerSearcher = new ArraySearcher<>();
int intResult = [Link](integerArray, intToFind);
if (intResult != -1) {
[Link]("Element " + intToFind + " found at index: " + intResult);
} else {
[Link]("Element " + intToFind + " not found.");
}
[Link]();
[Link]("--- Searching in String Array ---");
String[] stringArray = { "Apple", "Banana", "Cherry", "Date" };
String stringToFind = "Banana";
ArraySearcher<String> stringSearcher = new ArraySearcher<>();
int stringResult = [Link](stringArray, stringToFind);
if (stringResult != -1) {
[Link]("Element '" + stringToFind + "' found at index: " +
stringResult);
} else {
[Link]("Element '" + stringToFind + "' not found.");
}
}
}
class ArraySearcher<T> {
public int findElement(T[] array, T elementToFind) {
if (array == null || elementToFind == null) {
return -1;
}
for (int i = 0; i < [Link]; i++) {
if ([Link](array[i])) {
return i;
}
}
return -1;
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac gen_search.java
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java gen_search
--- Searching in Integer Array ---
Element 30 found at index: 2
--- Searching in String Array ---
Element 'Banana' found at index: 1
EX NO :12 GENERICS CLASS - AVERAGE
DATE :
1. Develop a Java program to find the average of an array of elements using
generic classes.
PROGRAM
public class gen_avg {
public static void main(String[] args) {
[Link]("Calculating average for an Integer array");
Integer[] integerArray = { 10, 20, 30, 40, 50 };
Calc<Integer> int_calc = new Calc<>();
double int_avg = int_calc.calculateAverage(integerArray);
[Link]("Array of Integers: [10, 20, 30, 40, 50]");
[Link]("Average of integers: " + int_avg);
[Link]();
[Link]("Calculating average for a Double array");
Double[] doubleArray = { 10.5, 20.5, 30.5, 40.5, 50.5 };
Calc<Double> double_calc = new Calc<>();
double double_avg = double_calc.calculateAverage(doubleArray);
[Link]("Array of Doubles: [10.5, 20.5, 30.5, 40.5, 50.5]");
[Link]("Average of doubles: " + double_avg);
}
}
class Calc<T extends Number> {
public double calculateAverage(T[] array) {
if (array == null || [Link] == 0) {
return 0.0;
}
double sum = 0.0;
for (T element : array) {
sum += [Link]();
}
return sum / [Link];
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac gen_avg.java
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java gen_avg
Calculating average for an Integer array
Array of Integers: [10, 20, 30, 40, 50]
Average of integers: 30.0
Calculating average for a Double array
Array of Doubles: [10.5, 20.5, 30.5, 40.5, 50.5]
Average of doubles: 30.5
EX NO :13 MULTITHREADING
DATE :
Develop a Java program to create multiple threads that perform different tasks
simultaneously — for example, one thread displays even numbers, and another
thread displays odd numbers within a given range. Demonstrate how both
threads execute concurrently.
PROGRAM
import [Link];
public class multithread {
public static void main(String[] args) {
Scanner no = new Scanner([Link]);
[Link]("Enter a number : ");
int rangeLimit = [Link]();
// Create a thread to display even numbers
Thread evenThread = new Thread(() -> {
for (int i = 2; i <= rangeLimit; i += 2) {
[Link]("Even Thread: " + i);
try {
[Link](50);
} catch (InterruptedException e) {
[Link]().interrupt();
[Link]("Even Thread interrupted.");
}
}
});
// Create a thread to display odd numbers
Thread oddThread = new Thread(() -> {
for (int i = 1; i <= rangeLimit; i += 2) {
[Link]("Odd Thread: " + i);
try {
[Link](50);
} catch (InterruptedException e) {
[Link]().interrupt();
[Link]("Odd Thread interrupted.");
}
}
});
// Start both threads
[Link]();
[Link]();
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java multithread
Enter a number :
7
Odd Thread: 1
Even Thread: 2
Odd Thread: 3
Even Thread: 4
Odd Thread: 5
Even Thread: 6
Odd Thread: 7
EX NO :14 BUILT – IN PACAKAGES
DATE :
Develop a Java program to demonstrate the use of built-in packages in Java
(such as [Link], [Link], and [Link]).
PROGRAM
import [Link];
import [Link];
import [Link];
public class Packages{
public static void main (String args[]){
Scanner sc = new Scanner([Link]);
[Link]("Enter a number: ");
try{
int x = [Link]();
[Link]("Square root is " + [Link](x));
if (x<0){
throw new IOException("Input given is not accepted");
}
}
catch(IOException e) {
[Link]("Error: " + [Link]());
}
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java Packages
Enter a number: 16
Square root is 4.0
EX NO :15 USER DEFINED PACAKAGES
DATE :
Develop a Java program to create a user-defined package named employee that
contains a class EmployeeDetails.
PROGRAM
FILE 1
package empdetail;
public class user1 {
public void display(String name, int id, double salary) {
[Link](" Employee Details");
[Link](" Employee Name: " + name);
[Link](" Employee ID: " + id);
[Link](" Employee Salary: " + salary);
}
}
FILE 2
import [Link];
import empdetail.user1;
public class user2 {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
user1 emp = new user1();
[Link]("Enter the number of the employee");
int n = [Link]();
for (int i = 0; i < n; i++) {
[Link]("Enter the name of the employee");
String name = [Link]();
[Link]("Enter the id of the employee");
int id = [Link]();
[Link]("Enter the salary of the employee");
double salary = [Link]();
[Link](name, id, salary);
}
[Link]();
}
}
OUTPUT
PS C:\Users\I11-14\Desktop\Abhijeet\Java> javac [Link]
PS C:\Users\I11-14\Desktop\Abhijeet\Java> java user2
Enter the number of the employee
2
Enter the name of the employee
Alice
Enter the id of the employee
101
Enter the salary of the employee
60000.00
Employee Details
Employee Name: Alice
Employee ID: 101
Employee Salary: 60000.0
Enter the name of the employee
Bob
Enter the id of the employee
102
Enter the salary of the employee
75000.00
Employee Details
Employee Name: Bob
Employee ID: 102
Employee Salary: 75000.0