ANKUR GOEL 11232546 GROUP – A3
PROGRAM NO – 26
AIM : WAP to achieve multithreading using run(), yield(), sleep() and start()
in JAVA.
CODE :
class MyRunnable implements Runnable {
private String t1;
public MyRunnable(String name) {
this.t1 = name;
}
@Override
public void run() {
for (int i = 1; i <= 5; i++) {
[Link](t1 + " - Count: " + i);
try {
[Link](500);
} catch (InterruptedException e) {
[Link](t1 + " interrupted.");
}
[Link]();
}
}
}
public class MultithreadingExample {
public static void main(String[] args) {
MyRunnable runnable1 = new MyRunnable("Thread 1");
MyRunnable runnable2 = new MyRunnable("Thread 2");
Thread thread1 = new Thread(runnable1);
Thread thread2 = new Thread(runnable2);
[Link]();
[Link]();
try {
[Link]();
[Link]();
} catch (InterruptedException e) {
[Link]("Main thread interrupted.");
}
[Link]("Main thread finished.");
}
}
BCSE – 506L Performance Analysis of Programming Languages Lab 30
ANKUR GOEL 11232546 GROUP – A3
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 31
ANKUR GOEL 11232546 GROUP – A3
PROGRAM NO – 27
AIM : WAP to book movie ticket using Synchronization in JAVA.
CODE :
class BookTicket {
int total_seats = 10;
synchronized void bookTicket(int seats) {
if (total_seats >= seats) {
[Link]("Seat booked successfully");
total_seats = total_seats - seats;
[Link]("Seats left: " + total_seats);
}
else {
[Link]("Not enough seats available");
}
}
}
public class MovieTicket extends Thread {
static BookTicket b;
int seats;
public MovieTicket(int seats) {
[Link] = seats;
}
public void run() {
[Link](seats);
}
public static void main(String[] args) {
b = new BookTicket();
MovieTicket t1 = new MovieTicket(7);
[Link]();
MovieTicket t2 = new MovieTicket(10);
[Link]();
}
}
OUTPUT :
BCSE – 506L Performance Analysis of Programming Languages Lab 32
ANKUR GOEL 11232546 GROUP – A3
PROGRAM NO – 28
AIM : WAP to solve Producer Consumer problem in JAVA.
CODE :
import [Link];
public class Threadexample {
public static void main(String[] args)
throws InterruptedException{
final PC pc = new PC();
Thread t1 = new Thread(new Runnable() {
@Override
public void run(){
try {
[Link]();
}
catch (InterruptedException e) {
[Link]();
}
}
});
Thread t2 = new Thread(new Runnable() {
@Override
public void run(){
try {
[Link]();
}
catch (InterruptedException e) {
[Link]();
}
}
});
[Link]();
[Link]();
[Link]();
[Link]();
}
public static class PC {
LinkedList<Integer> list = new LinkedList<>();
int capacity = 2;
public void produce() throws InterruptedException{
BCSE – 506L Performance Analysis of Programming Languages Lab 33
ANKUR GOEL 11232546 GROUP – A3
int value = 0;
while (true) {
synchronized (this){
while ([Link]() == capacity)
wait();
[Link]("Producer produced-"+ value);
[Link](value++);
notify();
[Link](1000);
}
}
}
public void consume() throws InterruptedException{
while (true) {
synchronized (this){
while ([Link]() == 0)
wait();
int val = [Link]();
[Link]("Consumer consumed-"+ val);
notify();
[Link](1000);
}
}
}
}
}
OUTPUT :
BCSE – 506L Performance Analysis of Programming Languages Lab 34
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 23
AIM: To implement single try-catch block in JAVA.
CODE:
class Error {
public static void main(String[] args) {
int a = 10;
int b = 5;
int c = 5;
int x,y;
try{
x = a/(b-c);
}
catch(ArithmeticException e){
[Link]("Division by zero");
}
y = a/(b+c);
[Link](+y);
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 27
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 24
AIM: To implement multiple catch blocks in JAVA.
CODE:
class Error {
public static void main(String[] args) {
int a[] = {10,5};
int b = 5;
int c;
try{
c = a[2]/a[1]-b;
int d = a[1]/a[0]-b;
}
catch(ArithmeticException e){
[Link]("Arithmetic Exception");
}
catch(ArrayIndexOutOfBoundsException e){
[Link]("Array Index Out Of Bound");
}
finally{
[Link]("Exception Caught");
}
c = a[1]/(a[0]+b);
[Link](+c);
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 28
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 25
AIM: To implement throwing your own exception in JAVA.
CODE:
// Define the custom exception class
class MyException extends Exception {
MyException(String message) {
super(message); // Call the base class constructor with the message
}
}
// Separate class with the main method
public class TestMyException {
public static void main(String[] args) {
int x = 5, y = 1000;
try {
float z = (float) x / (float) y;
if (z < 0.01) {
throw new MyException("Number is too small");
}
[Link]("Result: " + z); // Print result to see the output if no exception is
thrown
}
catch (MyException e) {
[Link]("Caught MyException");
[Link]([Link]());
}
finally {
[Link]("I am always here");
}
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 29
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. – 17
AIM: W.A.P to use String and StringBuffer Classes.
CODE:
public class StringAndStringBufferClass {
public static void main(String[] args) {
StringBuffer sb=new StringBuffer();
[Link]([Link]());//default 16
[Link]("Hello");
[Link]([Link]());//now 16
[Link]("java is my favourite language");
[Link]([Link]());//now (16*2)+2=34 i.e (oldcapacity*2)+2
[Link](10);//now no change
[Link]([Link]());//now 34
[Link](50);//now (34*2)+2
[Link]([Link]());//now 70
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 18
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. – 18
AIM: W.A.P. to use Wrapper Classes in JAVA.
CODE:
public class WrapperClass {
public static void main(String[] args) {
byte b=10;
short s=20;
int i=30;
long l=40;
float f=50.0F;
double d=60.0D;
char c='a';
boolean b2=true;
//Autoboxing: Converting primitives into objects
Byte byteobj=b;
Short shortobj=s;
Integer intobj=i;
Long longobj=l;
Float floatobj=f;
Double doubleobj=d;
char charobj=c;
Boolean boolobj=b2;
//Printing objects
[Link]("---Printing object values---");
[Link]("Byte object: "+byteobj);
[Link]("Short object: "+shortobj);
[Link]("Integer object: "+intobj);
[Link]("Long object: "+longobj);
[Link]("Float object: "+floatobj);
[Link]("Double object: "+doubleobj);
[Link]("Character object: "+charobj);
[Link]("Boolean object: "+boolobj);
//Unboxing: Converting Objects to Primitives
byte bytevalue=byteobj;
short shortvalue=shortobj;
int intvalue=intobj;
long longvalue=longobj;
float floatvalue=floatobj;
double doublevalue=doubleobj;
char charvalue=charobj;
boolean boolvalue=boolobj;
//Printing primitives
BCSE – 506L Performance Analysis of Programming Languages Lab 19
DEEPANSHI GUPTA 11232602 GROUP – A3
[Link]("---Printing primitive values---");
[Link]("byte value: "+bytevalue);
[Link]("short value: "+shortvalue);
[Link]("int value: "+intvalue);
[Link]("long value: "+longvalue);
[Link]("float value: "+floatvalue);
[Link]("double value: "+doublevalue);
[Link]("char value: "+charvalue);
[Link]("boolean value: "+boolvalue);
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 20
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. – 19
AIM: W.A.P. to perform operations on Vector Class.
CODE:
import [Link];
public class VectorOperations {
public static void main(String[] args) {
//Create an empty vector with initial capacity 4
Vector<String> vec = new Vector<String>(4);
//Adding elements to a vector
[Link]("Tiger");
[Link]("Lion");
[Link]("Dog");
[Link]("Elephant");
//Check size and capacity
[Link]("Size is: "+[Link]());
[Link]("Default capacity is: "+[Link]());
//Display Vector elements
[Link]("Vector element is: "+vec);
[Link]("Rat");
[Link]("Cat");
[Link]("Deer");
//Again check size and capacity after two insertions
[Link]("Size after addition: "+[Link]());
[Link]("Capacity after addition is: "+[Link]());
//Display Vector elements again
[Link]("Elements are: "+vec);
//Checking if Tiger is present or not in this vector
if([Link]("Tiger")){
[Link]("Tiger is present at the index " +[Link]("Tiger"));
}
else{
[Link]("Tiger is not present in the list.");
}
//Get the first element
[Link]("The first animal of the vector is = "+[Link]());
//Get the last element
[Link]("The last animal of the vector is = "+[Link]());
}
BCSE – 506L Performance Analysis of Programming Languages Lab 21
DEEPANSHI GUPTA 11232602 GROUP – A3
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 22
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. – 20
AIM: JAVA program to initialize the values from one object to another
object.
CODE:
public class Student {
int id;
String name;
// Constructor to initialize integer and string
Student(int i, String n){
id = i;
name = n;
}
// Copy constructor to initialize another object
Student(Student s){
id = [Link];
name = [Link];
}
void display(){
[Link](id + " " + name);
}
public static void main(String[] args){
Student s1 = new Student(111, "Karan");
Student s2 = new Student(s1);
[Link]();
[Link]();
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 23
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. – 21
AIM: W.A.P. to achieve Multiple Inheritance in JAVA.
CODE:
interface Character {
void attack();
}
interface Weapon {
void use();
}
class Warrior implements Character, Weapon {
@Override
public void attack() {
[Link]("Warrior attacks with a sword.");
}
@Override
public void use() {
[Link]("Warrior uses a sword.");
}
}
class Mage implements Character, Weapon {
@Override
public void attack() {
[Link]("Mage attacks with a wand.");
}
@Override
public void use() {
[Link]("Mage uses a wand.");
}
}
public class MultipleInheritance {
public static void main(String[] args) {
Warrior warrior = new Warrior();
Mage mage = new Mage();
[Link](); // Output: Warrior attacks with a sword.
[Link](); // Output: Warrior uses a sword.
[Link](); // Output: Mage attacks with a wand.
[Link](); // Output: Mage uses a wand.
}
BCSE – 506L Performance Analysis of Programming Languages Lab 24
DEEPANSHI GUPTA 11232602 GROUP – A3
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 25
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. – 22
AIM: W.A.P. to achieve Multi-level Inheritance.
CODE:
class Animal{
void eat(){[Link]("eating...");}
}
class Dog extends Animal{
void bark(){[Link]("barking...");}
}
class BabyDog extends Dog{
void weep(){[Link]("weeping...");}
}
public class TestInheritance2{
public static void main(String args[]){
BabyDog d=new BabyDog();
[Link]();
[Link]();
[Link]();
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 26
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 11
AIM: To calculate income tax in JAVA.
CODE:
import [Link];
public class TaxCalculation {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter your income: ");
int n = [Link]();
int tax;
if(n<=180000){
[Link]("No Tax");
}
else if(n>180000 && n<=500000){
tax = (int) ((n - 180000)*0.10);
[Link]("Tax = "+tax);
}
else if(n>500000 && n<=800000){
tax = (int) ((n - 500000)*0.20);
[Link]("Tax = "+tax);
}
else{
tax = (int) ((n - 800000)*0.30 + (n - 500000)*0.20 + (n - 180000)*0.10);
[Link]("Tax = "+tax);
}
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 12
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. – 13
AIM: W.A.P to calculate area of different shapes using method overloading.
CODE:
public class Area {
float l,b,a;
static int area(int l,int b){
return (l*b);
}
static int area(int a){
return(a*a);
}
double area(float l, float b){
return(0.5*l*b);
}
double area(float a){
return(0.433*a*a);
}
public static void main(String[] args) {
Area obj = new Area();
[Link]("area = "+[Link](2,3));
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 14
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. – 14
AIM: W.A.P. to sort a list of numbers.
CODE:
public class Sorting {
public static void main(String[] args)
{
int arr[] = { 10,54,6,97,24,11 };
for (int i = 0; i < [Link]; i++) {
for (int j = i + 1; j < [Link]; j++) {
int temp = 0;
if (arr[j] < arr[i]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
[Link](arr[i] + " ");
}
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 15
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. – 15
AIM: W.A.P. to multiply 3×3 matrix.
CODE:
public class MatrixMultiplication {
public static void main(String args[]){
int a[][]={{1,2,3},{4,5,6},{7,8,9}};
int b[][]={{9,8,7},{6,5,4},{3,2,1}};
int c[][]=new int[3][3];
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
c[i][j]=0;
for(int k=0;k<3;k++){
c[i][j]+=a[i][k]*b[k][j];
}
[Link](c[i][j]+" ");
}
[Link]();
}
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 16
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. – 16
AIM: W.A.P. to check whether a given string is palindrome or not.
CODE:
import [Link];
public class Palindrome {
public static void main(String args[]){
int r,sum=0,temp;
Scanner sc = new Scanner([Link]);
[Link]("Enter a no.: ");
int n = [Link]();
temp=n;
while(n>0){
r=n%10; //getting remainder
sum=(sum*10)+r;
n=n/10;
}
if(temp==sum)
[Link]("Palindrome number ");
else
[Link]("Not palindrome");
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 17
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 9
AIM: To print Fibonacci series in JAVA.
CODE:
import [Link];
public class Fibonacci {
public static void main(String[] args) {
int a = 0;
int b = 1;
int i = 1;
Scanner sc = new Scanner([Link]);
[Link]("Enter no. of digits: ");
int n = [Link]();
[Link](a);
[Link](b);
while(i<=n){
int nextTerm = a+b;
[Link](nextTerm);
a = b;
b = nextTerm;
i++;
}
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 10
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 10
AIM: To display multiplication table of a number in JAVA.
CODE:
import [Link];
public class Table {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter a no.: ");
int n = [Link]();
int i = 1;
do{
int a = n*i;
[Link](n);
[Link]("*");
[Link](i);
[Link](" = ");
[Link](a);
i++;
}
while(i<=10);
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 11
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 11
AIM: To calculate income tax in JAVA.
CODE:
import [Link];
public class TaxCalculation {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter your income: ");
int n = [Link]();
if(n<=180000){
[Link]("No Tax");
}
else if(n>180000 && n<=500000){
[Link]("10% Tax");
}
else if(n>500000 && n<=800000){
[Link]("20% Tax");
}
else{
[Link]("30% Tax");
}
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 12
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 12
AIM: To convert a given number of eggs into the number of gross plus the
number of dozens plus the number of left over eggs in JAVA.
CODE:
import [Link];
public class GrossAndDozens {
public static void main(String[] args) {
int eggs;
int gross;
int aboveGross;
int dozens;
int extras;
[Link]("How many eggs do you have? ");
Scanner sc= new Scanner([Link]);
eggs = [Link]();
gross = eggs / 144;
aboveGross = eggs % 144;
dozens = aboveGross / 12;
extras = aboveGross % 12;
[Link]("Your number of eggs is ");
[Link](""+gross);
[Link](" gross, ");
[Link](""+dozens);
[Link](" dozen, and ");
[Link](""+extras);
[Link]();
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 13
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 1
AIM: To print “hello” message in JAVA.
CODE:
class Hello{
public static void main(String[] args){
[Link]("Hello Java");
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 1
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 2
AIM: To swap value of two variables without using third variable in JAVA.
CODE:
public class Swap {
public static void main(String[] args) {
int a = 10;
int b = 20;
[Link]("Before swapping");
[Link]("a = " + a);
[Link]("b = " + b);
a = a + b;
b = a - b;
a = a - b;
[Link]("\nAfter swapping");
[Link]("a = " + a);
[Link]("b = " + b);
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 2
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. – 3
AIM: To swap value of two variables by using third variable in JAVA.
CODE:
public class Swap2 {
public static void main(String[] args) {
int a = 10;
int b = 20;
int c;
[Link]("Before swapping");
[Link]("a = " + a);
[Link]("b = " + b);
c = a;
a = b;
b = c;
[Link]("\nAfter swapping");
[Link]("a = " + a);
[Link]("b = " + b);
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 3
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 4
AIM: To check whether a number is even or odd in JAVA.
CODE:
import [Link];
public class EvenOdd {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter a no.: ");
int a = [Link]();
if (a%2==0)
[Link]("Even");
else
[Link]("Odd");
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 4
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 5
AIM: To check whether a year is leap year or not in JAVA.
CODE:
import [Link];
public class LeapYear {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter a year: ");
int a = [Link]();
if (a%4==0)
[Link]("Leap Year");
else
[Link]("Non-Leap Year");
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 5
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 6
AIM: To give grading to students according to the percentage in JAVA.
CODE:
public class Grading {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter percentage: ");
int a = [Link]();
if (a>=60)
[Link]("1st Division");
else if (a>=50)
[Link]("2nd Division");
else if (a>=40)
[Link]("3rd Division");
else
[Link]("Fail");
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 6
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 7
AIM: To implement switch statement in JAVA.
CODE:
import [Link];
public class DaysOfWeek {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter a no.: ");
int d = [Link]();
switch(d){
case 1:
[Link]("Sunday");
break;
case 2:
[Link]("Monday");
break;
case 3:
[Link]("Tuesday");
break;
case 4:
[Link]("Wednesday");
break;
case 5:
[Link]("Thursday");
break;
case 6:
[Link]("Friday");
break;
case 7:
BCSE – 506L Performance Analysis of Programming Languages Lab 7
DEEPANSHI GUPTA 11232602 GROUP – A3
[Link]("Saturday");
break;
default:
[Link]("Invalid Day");
}
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 8
DEEPANSHI GUPTA 11232602 GROUP – A3
PROGRAM NO. - 8
AIM: To find factorial of a number in JAVA.
CODE:
import [Link];
public class Factorial {
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
[Link]("Enter a no.: ");
float a = [Link]();
float fact = 1;
for (int i = 1; i <= a; i++) {
fact = fact*i;
}
[Link](fact);
}
}
OUTPUT:
BCSE – 506L Performance Analysis of Programming Languages Lab 9