BCA - Java Lab File

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 35

GALGOTIAS UNIVERSITY

SCHOOL OF COMPUTING SCIENCE & ENGINEERING

Lab Practical File

Name: SHUBHAM KUMAR SINGH


Adm. Number: 21SCSE1040169
Course: Programming in JAVA
Course code: E1UA505C
Program: BCA
Semester: 5th

Submitted to: Dr. Pramod Kumar Soni


INDEX
S. Experiment Date Signature
No.

1 Write a Java Program to perform the arithmetic 9/08/2023


operations using switch case

2 Write a program to check the input character for 16/08/2023


uppercase, lowercase, no. of digits and other
characters
3 Demonstration of Programs to Understand 23/08/2023
variable arguments in function using for(…)

4 Write a Program to implement WrapperClass 6/09/2023

5 Write a Program to implementCollections. 11/09/2023

6 Demonstration and implementation of programs 18/10/2023


to understand abstract classes and interfaces.

7 Implementation of Programs to Understand the 25/10/2023


concept of Overriding.

8 Implement Bank Transaction code fordeposit and 1/11/2023


withdrawal but synchronization should be
implemented..
9 Implement Bank Transaction code for deposit 08/11/2023
and withdrawal using the concept of
Multithreading.
10 Write a Program to implement HashMap. 08/11/2023

11 WAP for removing repeated characters instring. 22/11/2023

12 WAP for counting frequency ofcharacters in 22/11/2023


String
Program No. 1

Aim: Write a Java Program to perform the arithmetic operations using switch case

Source Code (If Statement) :

import java.util.Scanner;

class Main {
public static void main(String[] args) {

char operator;
Double number1, number2, result;

// create an object of Scanner class


Scanner input = new Scanner(System.in);

// ask users to enter operator


System.out.println("Choose an operator: +, -, *, or /");
operator = input.next().charAt(0);

// ask users to enter numbers


System.out.println("Enter first number");
number1 = input.nextDouble();

System.out.println("Enter second number");


number2 = input.nextDouble();

switch (operator) {

// performs addition between numbers


case '+':
result = number1 + number2;
System.out.println(number1 + " + " + number2 + " = " + result);
break;

// performs subtraction between numbers


case '-':
result = number1 - number2;
System.out.println(number1 + " - " + number2 + " = " + result);
break;

// performs multiplication between numbers


case '*':
result = number1 * number2;
System.out.println(number1 + " * " + number2 + " = " + result);
break;

// performs division between numbers


case '/':
result = number1 / number2;
System.out.println(number1 + " / " + number2 + " = " + result);
break;

default:
System.out.println("Invalid operator!");
break;
}

input.close();
}
}

Output :

Choose an operator: +, -, *, or /
*
Enter first number
3
Enter second number
9
3.0 * 9.0 = 27

Choose an operator: +, -, *, or /
+
Enter first number
21
Enter second number
8
21.0 + 8.0 = 29.0

Choose an operator: +, -, *, or /
-
Enter first number
9
Enter second number
3
9.0 - 3.0 = 6.0
Program No. 2

Aim: Write a program to check the input character for uppercase, lowercase, no. of
digits and other characters.

Source Code:

#include <stdio.h>
#include <ctype.h> /* Used for isupper() and islower() */

int main()
{
char ch;

/* Input character from user */


printf("Enter any character: ");
scanf("%c", &ch);

if(isupper(ch))
{
printf("'%c' is uppercase alphabet.", ch);
}
else if(islower(ch))
{
printf("'%c' is lowercase alphabet.", ch);
}
else
{
printf("'%c' is not an alphabet.", ch);
}

return 0;
}

Output:

Enter any character: C

'C' is uppercase alphabet


Program No. 3

Aim: Demonstration of Programs to Understand variable arguments in function using for(…)

Source Code :
package com.examples.experiments;

public class EXPVarargs {

static void fun(int... a)


{
System.out.println("Number of arguments: "
+ a.length);

// using for each loop to display contents of a


for (int i : a)
System.out.print(i + " ");
System.out.println();
}

// Driver code
public static void main(String args[])
{
// Calling the varargs method with
// different number of parameters

// one parameter
fun(100);

// four parameters
fun(1, 2, 3, 4);

// no parameter
fun();
}
}
Output:

Results: Program Executed Successfully.


Program No. 4

Aim: Write a Program to implement Wrapper Class

Source Code :
package com.examples.experiments;

import java.util.Scanner;

class Employee {
private int empid;
private String name;
private String empdept;

public int getEmpId()


{
return empid;
}
public void setEmpId(int empid)
{
this.empid = empid++;
}

public String getEmpName()


{
return name;
}
public void setEmpName(String name)
{
this.name = name;
}

public String getEmpDept()


{
return empdept;
}
public void setEmpDept(String empdept)
{
this.empdept = empdept;
}

public String toString()


{
String str = "\n1. Id: " + getEmpId() + "\n2. Name: " + getEmpName() + "\n3.
Department: " + getEmpDept();
return str;
}
}

public class EXP4 {

public static void main(String[] args) {


Scanner sc = new Scanner(System.in);
Employee emp = new Employee();
int i;
int ID = 101;
System.out.println("\t\tEmployee Details:\n");
for (i = 0; i<10; i++)
{
emp.setEmpId(ID);
ID++;
System.out.print("\nEnter Employee Name: ");
emp.setEmpName(sc.nextLine());
emp.setEmpDept("CSE");

System.out.println(emp.toString());
}

}
}
Output:

Results: Program Executed Successfully.


Program No. 5

Aim: Write a Program to implement Collections.

Source Code :
package com.example.collectiondemo;
import java.util.Hashtable;
import java.util.Vector;

public class CollectionDemo {


public static void main(String[] args){
int arr[] = new int[] { 1, 2, 3, 4 };
Vector<Integer> v = new Vector();
Hashtable<Integer, String> h = new Hashtable();

v.addElement(1);
v.addElement(2);
h.put(1, "Swapnesh");
h.put(2, "3Swapnesh");

System.out.println(arr[0]);
System.out.println(v.elementAt(0));
System.out.println(h.get(1));
}
}

Output:

Results: Program Executed Successfully.


Program No. 6

Aim: Demonstration and implementation of programs to understand abstract classes and


interfaces.

Source Code (Abstract Class):


package com.examples.experiments;

abstract class Shape {

// Declare fields
String objectName = " ";

// Constructor of this class


Shape(String name) { this.objectName = name; }

// Method
// Non-abstract methods
// Having as default implementation
public void moveTo(int x, int y)
{
System.out.println(this.objectName + " "
+ "has been moved to"
+ " x = " + x + " and y = " + y);
}

// Method 2
// Abstract methods which will be
// implemented by its subclass(es)
abstract public double area();
abstract public void draw();
}

// Class 2
// Helper class extending Class 1
class Rectangle extends Shape {

// Attributes of rectangle
int length, width;
// Constructor
Rectangle(int length, int width, String name)
{

// Super keyword refers to current instance itself


super(name);

// this keyword refers to current instance itself


this.length = length;
this.width = width;
}

// Method 1
// To draw rectangle
@Override public void draw()
{
System.out.println("Rectangle has been drawn ");
}

// Method 2
// To compute rectangle area
@Override public double area()
{
// Length * Breadth
return (double)(length * width);
}
}

// Class 3
// Helper class extending Class 1
class Circle extends Shape {

// Attributes of a Circle
double pi = 3.14;
int radius;

// Constructor
Circle(int radius, String name)
{
// Super keyword refers to parent class
super(name);
// This keyword refers to current instance itself
this.radius = radius;
}

// Method 1
// To draw circle
@Override public void draw()
{
// Print statement
System.out.println("Circle has been drawn ");
}

// Method 2
// To compute circle area
@Override public double area()
{
return (double)((pi * radius * radius));
}
}

public class EXP6Abstract {


public static void main(String[] args)
{
// Creating the Object of Rectangle class
// and using shape class reference.
Shape rect = new Rectangle(2, 3, "Rectangle");

System.out.println("Area of rectangle: "


+ rect.area());

rect.moveTo(1, 2);

System.out.println(" ");

// Creating the Objects of circle class


Shape circle = new Circle(2, "Circle");

System.out.println("Area of circle: "


+ circle.area());

circle.moveTo(2, 4);
}
}

Output (Abstract Class):

Source Code (Interface):


package com.examples.experiments;

interface Shapes {

// Abstract method
void draw();
double area();
}

// Class 1
// Helper class
class Rectangles implements Shapes {

int length, width;

// constructor
Rectangles(int length, int width)
{
this.length = length;
this.width = width;
}

@Override public void draw()


{
System.out.println("Rectangle has been drawn ");
}

@Override public double area()


{
return (double)(length * width);
}
}

// Class 2
// Helper class
class Circles implements Shapes {

double pi = 3.14;
int radius;

// constructor
Circles(int radius) { this.radius = radius; }

@Override public void draw()


{
System.out.println("Circle has been drawn ");
}

@Override public double area()


{

return (double)((pi * radius * radius));


}
}

public class EXP6Interface {


public static void main(String[] args)
{
// Creating the Object of Rectangle class
// and using shape interface reference.
Shapes rect = new Rectangles(2, 3);

System.out.println("Area of rectangle: "


+ rect.area());

// Creating the Objects of circle class


Shapes circles = new Circles(2);

System.out.println("Area of circle: "


+ circles.area());
}
}

Output (Interface):

Results: Program Executed Successfully.


Program No. 7

Aim: Implementation of Programs to understand the concept of Overriding.

Source Code :
package com.examples.experiments;

class Employees {
public static int base = 10000;
int salary()
{
return base;
}
}

// Inherited class
class Manager extends Employees {
// This method overrides salary() of Parent
int salary()
{
return base + 20000;
}
}

// Inherited class
class Clerk extends Employees {
// This method overrides salary() of Parent
int salary()
{
return base + 10000;
}
}

public class EXP7 {


static void printSalary(Employees e)
{
System.out.println(e.salary());
}
public static void main(String[] args)
{
Employees obj1 = new Manager();

// We could also get type of employee using


// one more overridden method.loke getType()
System.out.print("Manager's salary : ");
printSalary(obj1);

Employees obj2 = new Clerk();


System.out.print("Clerk's salary : ");
printSalary(obj2);
}
}

Output:

Results: Program Executed Successfully.


Program No. 8

Aim: Implement Bank Transaction code for deposit and withdrawal but synchronization should
be implemented..

Source Code :
public class Bank {
int total = 100;
void withdrawn(String name, int withdrawal)
{
if(total >= withdrawal)
{
System.out.println(name + "'s Withdrawal Amount : " + withdrawal);
total = total - withdrawal;
System.out.println("Remaining Amount : " + total);

try {
Thread.sleep(1000);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
else {
System.out.println(name + " you cannot withdraw : " + withdrawal);
System.out.println("Remaining Balance : " + withdrawal);

try {
Thread.sleep(1000);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
}
void deposit(String name, int deposit)
{
System.out.println(name + " Deposited : " + deposit);
total = total + deposit;
System.out.println("Remaining Balance : " + total);
try {
Thread.sleep(1000);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public class RookieApproach {
public static void main(String[] args)
{
Bank obj = new Bank();

obj.withdrawn("Swapnesh", 70);
obj.deposit("Swapnesh", 90);
obj.withdrawn("Swapnesh", 30);
obj.deposit("Swapnesh", 70);
obj.withdrawn("Swapnesh", 40);
}
}

Output:

Results: Program Executed Successfully.


Program No. 9

Aim: Implement Bank Transaction code for deposit and withdrawal using the concept of
Multithreading.

Source Code :
package com.examples.multithreadingapproach;

public class Bank {


int total = 100;

void withdrawn(String name, int withdrawal)


{
if(total >= withdrawal)
{
System.out.println(name + "'s Withdrawal Amount : " + withdrawal);
total = total - withdrawal;
System.out.println("Remaining Balance : " + total);

try {
Thread.sleep(1000);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
else {
System.out.println(name + " you cannot withdraw : " + withdrawal);
System.out.println("Remaining Balance : " + withdrawal);

try {
Thread.sleep(1000);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
}
void deposit(String name, int deposit)
{
System.out.println(name + " Deposited : " + deposit);
total = total + deposit;
System.out.println("Remaining Balance : " + total);

try {
Thread.sleep(1000);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
}

public class ThreadDeposit extends Thread{

Bank object;
String name;
int dollar;

ThreadDeposit(Bank ob, String name, int money)


{
this.object = ob;
this.name = name;
this.dollar = money;
}

public void run()


{
object.deposit(name, dollar);
}
}

public class ThreadWithdrawal extends Thread {

Bank object;
String name;
int dollar;
ThreadWithdrawal(Bank ob, String name, int money)
{
this.object = ob;
this.name = name;
this.dollar = money;
}

public void run()


{
object.withdrawn(name, dollar);
}
}

public class MultithreadingApproach {


public static void main(String[] args)
{
Bank obj = new Bank();

ThreadWithdrawal t1 = new ThreadWithdrawal(obj, "Swapnesh", 20);


ThreadDeposit t2 = new ThreadDeposit(obj, "Swapnesh", 40);
ThreadWithdrawal t3 = new ThreadWithdrawal(obj, "Swapnesh", 35);
ThreadDeposit t4 = new ThreadDeposit(obj, "Swapnesh", 80);
ThreadWithdrawal t5 = new ThreadWithdrawal(obj, "Swapnesh", 40);

t1.start();
t2.start();
t3.start();
t4.start();
t5.start();
}
}
Output:

Results: Program Executed Successfully.


Program No. 10

Aim: Write a Program to implement Hash Map.

Source Code :
package com.example.module1;

public class WrapperEX {


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;
Character charobj=c;
Boolean boolobj=b2;

//Printing objects
System.out.println("---Printing object values---");
System.out.println("Byte object: "+byteobj);
System.out.println("Short object: "+shortobj);
System.out.println("Integer object: "+intobj);
System.out.println("Long object: "+longobj);
System.out.println("Float object: "+floatobj);
System.out.println("Double object: "+doubleobj);
System.out.println("Character object: "+charobj);
System.out.println("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
System.out.println("---Printing primitive values---");
System.out.println("byte value: "+bytevalue);
System.out.println("short value: "+shortvalue);
System.out.println("int value: "+intvalue);
System.out.println("long value: "+longvalue);
System.out.println("float value: "+floatvalue);
System.out.println("double value: "+doublevalue);
System.out.println("char value: "+charvalue);
System.out.println("boolean value: "+boolvalue);
}
}

Output:
Source Code :
package com.example.hashmap;
import java.util.HashMap;
import java.util.Map;

public class HashMap2 {


public static void main(String args[])
{
HashMap<Integer, String> hm = new HashMap<Integer, String>();
System.out.println("Initial list of Elements : "+hm);
hm.put(100,"Swapnesh");
hm.put(101,"Rohit");
hm.put(102,"Vrushabh");
hm.put(103,"Vishal");

System.out.println(("After Invoking put() method : "));


for(Map.Entry m : hm.entrySet())
{
System.out.println(m.getKey() + " " + m.getValue());
}

hm.putIfAbsent(104, "Aaditya");
System.out.println("After invoking putIfAbsent() method : ");
for(Map.Entry m : hm.entrySet())
{
System.out.println(m.getKey() + " " + m.getValue());
}

HashMap<Integer, String> map = new HashMap<Integer, String>();

map.put(105, "Gautam");
map.putAll(hm);

System.out.println("After Invoking putAll() method : ");


for(Map.Entry m : map.entrySet())
{
System.out.println(m.getKey() + " " + m.getValue());
}
}
}
Output:

Source Code :
package com.example.hashmap;

import java.util.HashMap;

public class HashMap3 {


public static void main(String args[])
{
HashMap<Integer, String> hm = new HashMap<Integer, String>();

hm.put(100, "Swapnesh");
hm.put(101, "Rohit");
hm.put(102, "Vrushabh");
hm.put(103, "Vishal");
System.out.println("Initial list of Elements : " + hm);

hm.remove(102);
System.out.println("Update list of Elements : " + hm);

hm.remove(103);
System.out.println("Update list of Elements : " + hm);

hm.remove(101, "Rohit");
System.out.println("Update list of Elements : " + hm);
}
}

Output:

Source Code :
package com.example.hashmap;

import java.util.HashMap;

public class HashMap4 {


public static void main(String args[])
{
HashMap<Integer, String> hm = new HashMap<Integer, String>();

hm.put(100, "Swapnesh");
hm.put(101, "Rohit");
hm.put(102, "Vrushabh");
hm.put(103, "Vishal");

System.out.println("Initial list of Elements : " + hm);


hm.replace(102, "Koli");
System.out.println("Update list of Elements : " + hm);

hm.replace(103, "Vishal", "Adhikari");


System.out.println("Update list of Elements : " + hm);

hm.replaceAll((k,v) -> "Swapnesh");


System.out.println("Update list of Elements : " + hm);
}
}

Output:

Results: Program Executed Successfully.


Program No. 11

Aim: WAP for removing repeated characters in string.

Source Code :
package com.examples.removeduplicatestring;

import java.util.*;
import java.util.Arrays;

public class removeDuplicate1 {


static String removeDuplicate(char str[], int n)
{
int index = 0;

for(int i = 0; i < n; i++)


{
int j;
for(j = 0; j < i; j++)
{
if(str[i] == str[j])
{
break;
}
}

if(j == i)
{
str[index++] = str[i];
}
}
return String.valueOf(Arrays.copyOf(str, index));
}

public static void main(String[] args)


{
char str[] = "aapapalaea".toCharArray();
int n = str.length;
System.out.println("Original String : ");
System.out.println(str);
System.out.println("Result : " + removeDuplicate(str, n));
}
}

Output:

Results: Program Executed Successfully.


Program No. 12

Aim: WAP for counting frequency of characters in String

Source Code :
package com.examples.stringfrequency;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class StringFrequency2 {


public static void prCharWithFreq(String s)
{
Map<Character, Integer> d = new HashMap<Character, Integer>();

for (int i = 0; i<s.length();i++)


{
if (d.containsKey(s.charAt(i)))
{
d.put(s.charAt(i), d.get(s.charAt(i) + 1));
}
else
{
d.put(s.charAt(i), 1);
}
}

for (int i = 0; i<s.length(); i++)


{
if(d.get(s.charAt(i)) != 0)
{
System.out.println(s.charAt(i));
System.out.println(d.get(s.charAt(i)) + " ");
d.put(s.charAt(i), 0);
}
}
}
public static void main(String args[])
{
Scanner sc= new Scanner(System.in);
System.out.print("Enter a string: ");
String str= sc.nextLine();
prCharWithFreq(str);
}
}

Output:

Results: Program Executed Successfully.

You might also like