You are on page 1of 35

ID NUMBER -> 170040841

TECHNICAL SKILLING
CO 4

1. Write a Java program that keeps a number from the user and generates an integer
between 1 and 7 and displays the name of the weekday?

import java.util.Scanner;
public class Exercise5
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Input number: ");
int day = in.nextInt();

System.out.println(getDayName(day));
}
public static String getDayName(int day)
{
String dayName = "";
switch (day)
{
case 1: dayName = "Monday"; break;
case 2: dayName = "Tuesday"; break;
case 3: dayName = "Wednesday"; break;
case 4: dayName = "Thursday"; break;
case 5: dayName = "Friday"; break;
case 6: dayName = "Saturday"; break;
case 7: dayName = "Sunday"; break;
default:dayName = "Invalid day range";
}
return dayName;
}
}

OUTPUT:
Input number: 3
Wednesday

2. Write a Java program that takes the user to provide a single character from the
alphabet. Print Vowel or Consonant, depending on the user input. If the user input
is not a letter (between a and z or A and Z), or is a string of length > 1, print an
error message?
import java.util.Scanner;
public class Exercise8
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);

System.out.print("Input an alphabet: ");


String input = in.next().toLowerCase();

boolean uppercase = input.charAt(0) >= 65 && input.c


harAt(0) <= 90;
boolean lowercase = input.charAt(0) >= 97 && input.c
harAt(0) <= 122;
boolean vowels = input.equals("a") || input.equals("
e") || input.equals("i")
|| input.equals("o") || input.equals("u");

if (input.length() > 1)
{
System.out.println("Error. Not a single characte
r.");
}
else if (!(uppercase || lowercase))
{
System.out.println("Error. Not a letter. Enter u
ppercase or lowercase letter.");
}
else if (vowels)
{
System.out.println("Input letter is Vowel");
}
else
{
System.out.println("Input letter is Consonant");
}
}
}

OUTPUT:
Input an alphabet: Input letter is Consonant

3. Write a Java program to get the difference between the largest and smallest values
in an array of integers. The length of the array must be 1 and above?
import java.util.Arrays;
public class Exercise28
{
public static void main(String[] args)
{
int[] array_nums = {5, 7, 2, 4, 9};
System.out.println("Original Array: "+Arrays.toString(arra
y_nums));
int max_val = array_nums[0];
int min = array_nums[0];
for(int i = 1; i < array_nums.length; i++)
{
if(array_nums[i] > max_val)
max_val = array_nums[i];
else if(array_nums[i] < min)
min = array_nums[i];
}
System.out.println("Difference between the largest and sma
llest values of the said array: "+(max_val-min));
}
}

OUTPUT:

Original Array: [1, 2, 3, 4, 5]


Difference between the largest and smallest values of the said
array: 4

4. Write a Java program to find the length of the longest consecutive elements
sequence from a given unsorted array of integers?

import java.util.HashSet;
public class Exercise34 {
public static void main(String[] args)
{
int nums[] = {51, 1, 3, 20, 2, 4, 6, 5};
System.out.println("Original array length:
"+nums.length);
System.out.print("Array elements are: ");
for (int i = 0; i < nums.length; i++)
{
System.out.print(nums[i]+" ");
}
System.out.println("\nThe new length of the array
is: "+longest_sequence(nums));

}
public static int longest_sequence(int[] nums)
{
final HashSet<Integer> h_set = new HashSet<Integer>();
for (int i : nums) h_set.add(i);

int longest_sequence_len = 0;
for (int i : nums)
{
int length = 1;
for (int j = i - 1; h_set.contains(j); --j)
{
h_set.remove(j);
++length;
}
for (int j = i + 1; h_set.contains(j); ++j)
{
h_set.remove(j);
++length;
}
longest_sequence_len =
Math.max(longest_sequence_len, length);
}
return longest_sequence_len;
}

OUTPUT:

Original array length: 8


Array elements are: 49 1 3 200 2 4 70 5
The new length of the array is: 6

5. Write a Java program to get the character (Unicode code point) before the
specified index within the String?

public class Exercise3

public static void main(String[] args)

String str = "w3resource.com";

System.out.println("Original String : " + str);

int val1 = str.codePointBefore(1);


int val2 = str.codePointBefore(9);

System.out.println("Character(unicode point) = " + val1);

System.out.println("Character(unicode point) = " + val2);

OUTPUT:

Original String : w3resource.com


Character(unicode point) = 119
Character(unicode point) = 99

6. Write a Java program to create a new String object with the contents of a
character array?

public class Exercise11

public static void main(String[] args)

char[] arr_num = new char[] { '1', '2', '3', '4' };

String str = String.copyValueOf(arr_num, 1, 3);

System.out.println("\nThe book contains " + str +"


pages.\n");

OUTPUT:

The book contains 234 pages.

7. Write a Java program to get and display information (year, month, day, hour,
minute) of a default calendar?

import java.util.*;

public class Exercise2


{

public static void main(String[] args)

Calendar cal = Calendar.getInstance();

System.out.println();

System.out.println("Year: " + cal.get(Calendar.YEAR));

System.out.println("Month: " +
cal.get(Calendar.MONTH));

System.out.println("Day: " + cal.get(Calendar.DATE));

System.out.println("Hour: " + cal.get(Calendar.HOUR));

System.out.println("Minute: " +
cal.get(Calendar.MINUTE));

System.out.println();

OUTPUT:

Year: 2020
Month: 11
Day: 31
Hour: 07
Minute: 15

8. Write a Java program to get a day of the week of a specific date?

import java.util.*;
public class Exercise13
{
public static void main(String []args)
{
Calendar cal = Calendar.getInstance();
System.out.println();
int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
System.out.println("Day of the week : " + dayOfWeek);
System.out.println();
}
}

OUTPUT:

Day of the week: 3

9. Write a Java program to display the dates in the following formats?

import java.time.Instant;

import java.time.LocalDate;

import java.time.LocalDateTime;

import java.time.format.DateTimeFormatter;

public class DateParseFormatExercise24

public static void main(String[] args)

LocalDate date = LocalDate.now();

System.out.println("\nDefault format of
LocalDate="+date);

System.out.println(date.format(DateTimeFormatter.ofPatter
n("d::MMM::uuuu")));

LocalDateTime dateTime = LocalDateTime.now();

System.out.println("Default format of
LocalDateTime="+dateTime);

System.out.println(dateTime.format(DateTimeFormatter.ofPa
ttern("d::MMM::uuuu HH::mm::ss")));

Instant timestamp = Instant.now();

System.out.println("Default format of
Instant="+timestamp);

LocalDateTime dt =
LocalDateTime.parse("27::Apr::2014 21::39::48",
DateTimeFormatter.ofPattern("d::MMM::uuuu
HH::mm::ss"));

System.out.println("Default format after parsing =


"+dt+"\n");

OUTPUT:

Default format of LocalDate=2020-10-31

31::Oct::2020

Default format of LocalDateTime=2020-10-31T15:08:07.538948

31::Oct::2020 15::08::07

Default format of Instant=2020-10-31T15:08:07.541119Z

Default format after parsing = 2020-10-31T08:39:48

10. Write a Java program to extract date, time from the date string?

import java.util.*;

import java.text.*;

public class Exercise35

public static void main(String[] args)

try

String originalString = "2020-10-31 07:35:00";

Date date = new SimpleDateFormat("yyyy-MM-dd


HH:mm:ss").parse(originalString);
String newstr = new SimpleDateFormat("MM/dd/yyyy,
H:mm:ss").format(date);

System.out.println("\n"+newstr+"\n");

catch (ParseException e)

e.printStackTrace();

OUTPUT:

10/31/2020, 7:35:00

11. Write a Java program to find the number which has the maximum number of
distinct prime factors in a given range?

import java.util.*;

public class solution

static int max_distinct_primes(int r1, int r2)

long factor_count[] = new long[r2 + 1];

boolean prime_num[] = new boolean[r2 + 1];

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

factor_count[i] = 0;

prime_num[i] = true;

}
for (int i = 2; i <= r2; i++)

if (prime_num[i] == true)

factor_count[i] = 1;

for (int j = i * 2; j <= r2; j += i)

factor_count[j]++;

prime_num[j] = false;

int max_num = (int)factor_count[r1];

int num = r1;

for (int i = r1; i <= r2; i++)

if (factor_count[i] > max_num)

max_num = (int)factor_count[i];

num = i;

return num;

public static void main(String[] args)


{

Scanner scan = new Scanner(System.in);

System.out.print("Input first integer: ");

int num1 = scan.nextInt();

System.out.print("Input second integer: ");

int num2 = scan.nextInt();

scan.close();

if (num1>0 && num2>0 && num2>num1)

System.out.println("Maximum number of distinct prime


factors of the said range: "+max_distinct_primes(num1, num2));

OUTPUT:

Input first integer: Input second integer: Maximum number of


distinct prime factors of the said range: 6

12. Write a Java program to calculate e raise to the power x using sum of first n
terms of Taylor Series?

import java.util.*;

class solution

static float Taylor_exponential(int n, float x)

float exp_sum = 1;

for (int i = n - 1; i > 0; --i )


exp_sum = 1 + x * exp_sum / i;

return exp_sum;

public static void main(String[] args)

Scanner scan = new Scanner(System.in);

System.out.print("Input n: ");

int n = scan.nextInt();

System.out.print("Input x: ");

float x = scan.nextInt();

if (n>0 && x>0)

System.out.println("e^x =
"+Taylor_exponential(n,x));

Input n: 25

Input x: 5

e^x = 148.41316

13. Write a Java program to sort an array of given integers using Radix sort
Algorithm?

import java.util.Arrays;

public class RadixSort

public static void sort(int[] array)


{

RadixSort.sort(array, 10);

public static void sort(int[] array, int radix)

if (array.length == 0)

return;

int minValue = array[0];

int maxValue = array[0];

for (int i = 1; i < array.length; i++)

if (array[i] < minValue)

minValue = array[i];

else if (array[i] > maxValue)

maxValue = array[i];

int exponent = 1;

while ((maxValue - minValue) / exponent >= 1)

{
RadixSort.countingSortByDigit(array, radix,
exponent, minValue);

exponent *= radix;

private static void countingSortByDigit(

int[] array, int radix, int exponent, int


minValue) {

int bucketIndex;

int[] buckets = new int[radix];

int[] output = new int[array.length];

for (int i = 0; i < radix; i++) {

buckets[i] = 0;

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

bucketIndex = (int)(((array[i] - minValue) /


exponent) % radix);

buckets[bucketIndex]++;

for (int i = 1; i < radix; i++) {

buckets[i] += buckets[i - 1];

for (int i = array.length - 1; i >= 0; i--) {

bucketIndex = (int)(((array[i] - minValue) /


exponent) % radix);

output[--buckets[bucketIndex]] = array[i];

}
// Copy back

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

array[i] = output[i];

public static void main(String args[])

RadixSort ob = new RadixSort();

int nums[] = {7, -5, 3, 2, 1, 0, 45};

System.out.println("Original Array:");

System.out.println(Arrays.toString(nums));

ob.sort(nums);

System.out.println("Sorted Array:");

System.out.println(Arrays.toString(nums));

OUTPUT:

Original Array:

[7, -5, 3, 2, 1, 0, 45]

Sorted Array:

[-5, 0, 1, 2, 3, 7, 45]

14. Write a Java program to sort an array of given integers using Selection Sort
Algorithm?

import java.util.Arrays;

public class SelectionSort


{

public static void sort(int[] nums)

for(int currentPlace = 0;currentPlace<nums.length-


1;currentPlace++)

int smallest = Integer.MAX_VALUE;

int smallestAt = currentPlace+1;

for(int check = currentPlace; check<nums.length;check++)

if(nums[check]<smallest)

smallestAt = check;

smallest = nums[check];

int temp = nums[currentPlace];

nums[currentPlace] = nums[smallestAt];

nums[smallestAt] = temp;

public static void main(String args[])

SelectionSort ob = new SelectionSort();

int nums[] = {6, -4, 2, 1, 0,-1, 44};

System.out.println("Original Array:");
System.out.println(Arrays.toString(nums));

ob.sort(nums);

System.out.println("Sorted Array:");

System.out.println(Arrays.toString(nums));

OUTPUT:

Original Array:

[6, -4, 2, 1, 0, -1, 44]

Sorted Array:

[-4, -1, 0, 1, 2, 6, 44]

15. Write a Java program to sort an array of positive integers using the Bead Sort
Algorithm?

public static void main(String[] args)

BeadSort now=new BeadSort();

int[] arr=new int[(int)(Math.random()*11)+5];

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

arr[i]=(int)(Math.random()*10);

System.out.print("Unsorted: ");

now.display1D(arr);

int[] sort=now.beadSort(arr);

System.out.print("Sorted: ");

now.display1D(sort);

int[] beadSort(int[] arr)


{

int max=0;

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

if(arr[i]>max)

max=arr[i];

char[][] grid=new char[arr.length][max];

int[] levelcount=new int[max];

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

levelcount[i]=0;

for(int j=0;j<arr.length;j++)

grid[j][i]='_';

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

int num=arr[i];

for(int j=0;num>0;j++)

grid[levelcount[j]++][j]='*';

num--;

System.out.println();

display2D(grid);

int[] sorted=new int[arr.length];


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

int putt=0;

for(int j=0;j<max&&grid[arr.length-1-
i][j]=='*';j++)

putt++;

sorted[i]=putt;

return sorted;

void display1D(int[] arr)

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

System.out.print(arr[i]+" ");

System.out.println();

void display1D(char[] arr)

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

System.out.print(arr[i]+" ");

System.out.println();

void display2D(char[][] arr)

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

display1D(arr[i]);
System.out.println();

OUTPUT:

Unsorted: 3 0 8 7 3 9 7 9 9 2 0 4 8 2 4

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * _

* * * * * * * * _

* * * * * * * _ _

* * * * * * * _ _

* * * * _ _ _ _ _

* * * * _ _ _ _ _

* * * _ _ _ _ _ _

* * * _ _ _ _ _ _

* * _ _ _ _ _ _ _

* * _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _

Sorted: 0 0 2 2 3 3 4 4 7 7 8 8 9 9 9

16. Write a Java program to sort an array of positive integers using the Cocktail sort
Algorithm?

import java.util.Arrays;

class cocktailSort
{

void cocktailSort(int nums[])

boolean swapped;

do

swapped = false;

for (int i =0; i<= nums.length - 2;i++)

if (nums[ i ] > nums[ i + 1 ])

int temp = nums[i];

nums[i] = nums[i+1];

nums[i+1]=temp;

swapped = true;

if (!swapped)

break;

swapped = false;

for (int i= nums.length - 2;i>=0;i--)

if (nums[ i ] > nums[ i + 1 ])


{

int temp = nums[i];

nums[i] = nums[i+1];

nums[i+1]=temp;

swapped = true;

while (swapped);

public static void main(String args[])

cocktailSort ob = new cocktailSort();

int nums[] = {8, 6, 4, 3, 2, 13, 46};

System.out.println("Original Array:");

System.out.println(Arrays.toString(nums));

ob.cocktailSort(nums);

System.out.println("Sorted Array");

System.out.println(Arrays.toString(nums));

OUTPUT:

Original Array:

[7, 5, 3, 2, 1, 12, 45]

Sorted Array
[1, 2, 3, 5, 7, 12, 45]

17. Write a Java program to sort an array of given integers using the Comb Sort
Algorithm?

import java.util.Arrays;

class CombSort

void CombSort(int nums[])

int gap_length = nums.length;

float shrinkFactor = 1.3f;

boolean swapped = false;

while (gap_length > 1 || swapped)

if (gap_length > 1)

gap_length = (int)(gap_length / shrinkFactor);

swapped = false;

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


{

if (nums[i] > nums[i + gap_length])

swap(nums, i, i + gap_length);

swapped = true;

}
}

private static void swap(int nums[], int x, int y) {

Integer temp = nums[x];

nums[x] = nums[y];

nums[y] = temp;

public static void main(String args[])

CombSort ob = new CombSort();

int nums[] = {7, -5, 3, 2, 1, 0, 45};

System.out.println("Original Array:");

System.out.println(Arrays.toString(nums));

ob.CombSort(nums);

System.out.println("Sorted Array");

System.out.println(Arrays.toString(nums));

OUTPUT:

Original Array:

[7, -5, 3, 2, 1, 0, 45]

Sorted Array

[-5, 0, 1, 2, 3, 7, 45]

18. Write a Java program to sort an array of given non-negative integers using Stooge
Sort Algorithm?

import java.util.Arrays;
public class Stooge

public static void main(String[] args)

System.out.println("Original Array:");

int[] nums = {9, -7, 5, 4, 3, 2, 47};

System.out.println(Arrays.toString(nums));

stoogeSort(nums);

System.out.println("Sorted Array:");

System.out.println(Arrays.toString(nums));

public static void stoogeSort(int[] L)

stoogeSort(L, 0, L.length - 1);

public static void stoogeSort(int[] L, int i, int j)

if (L[j] < L[i]) {

int tmp = L[i];

L[i] = L[j];

L[j] = tmp;

if (j - i > 1)

int t = (j - i + 1) / 3;
stoogeSort(L, i, j - t);

stoogeSort(L, i + t, j);

stoogeSort(L, i, j - t);

OUTPUT:

Original Array:

[9, -7, 5, 4, 3, 2, 47]

Sorted Array:

[-7, 2, 3, 4, 5, 9, 47]

19. Write a Java program to sort an array of given integers using Bucket Sort
Algorithm?

import java.util.Arrays;

public class BucketSort

static int[] sort(int[] nums, int max_value)

int[] Bucket = new int[max_value + 1];

int[] sorted_nums = new int[nums.length];

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

Bucket[nums[i]]++;

int outPos = 0;

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

for (int j = 0; j < Bucket[i]; j++)

sorted_nums[outPos++] = i;
return sorted_nums;

static int max_value(int[] nums)

int max_value = 0;

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

if (nums[i] > max_value)

max_value = nums[i];

return max_value;

public static void main(String args[])

int nums[] = {77, 33, 22, 11, 00, 445};

int max_value = max_value(nums);

System.out.println("Original Array:");

System.out.println(Arrays.toString(nums));

nums = sort(nums, max_value);

System.out.println("Sorted Array:");

System.out.println(Arrays.toString(nums));

OUTPUT:

Original Array:

[77, 33, 22, 11, 0, 445]

Sorted Array:
[0, 11, 22, 33, 77, 445]

20. Write a Java program to find a specified element in a given array of elements
using Ternary search?

import java.util.*;

public class Main

public static void main(String[] args)

Scanner scan = new Scanner(System.in);

int[] nums = new


int[]{0,1,2,3,5,7,9,12,15,17,18,21,25,32,52,54,75,89,90,93,97,
104,120};

System.out.println("Original array:");

System.out.println(Arrays.toString(nums));

System.out.println("Input an element to search:");

int val = scan.nextInt();

int position = ternary_search(nums, val, 0,


nums.length-1);

if(position == -1)

System.out.println("\n" +val+ " Element not


found");

else

System.out.println("\n"+ val +" element found at


position "+ position);

static int ternary_search(int[] nums, int val, int


first_element, int last_element)

if(first_element > last_element)


{

return -1;

int mid1_element = first_element + (last_element -


first_element) / 3;

int mid2_element = first_element + 2*(last_element -


first_element) / 3;

if(val == nums[mid1_element])

return mid1_element;

else if(val == nums[mid2_element])

return mid2_element;

else if(val > nums[mid1_element])

first_element = mid1_element+1;

else if(val < nums[mid2_element])

last_element = mid2_element-1;

return ternary_search(nums, val, first_element,


last_element);

}
OUTPUT:

Original array:

[0, 1, 2, 3, 5, 7, 9, 12, 15, 17, 18, 21, 25, 32, 52, 54, 75,
89, 90, 93, 97, 104, 120]

Input an element to search:

5 element found at position 4

21. Write a Java program to find a specified element in a given array of elements using
Linear Search?

public class Main

static int [] nums;

public static void main(String[] args) {

nums = new int[]{3,2,4,5,6,6,7,8,9,9,0,9};

int result = Linear_Search(nums, 9);

if(result == -1)

System.out.print("Not present in the array!");

else

System.out.print("Number found at index "+result);

private static int Linear_Search(int [] nums,int search)

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

{
if(nums[i]==search)

return i;

return -1;

OUTPUT:

Number found at index 8

22. Write a Java program to print all the elements of a ArrayList using the position
of the elements?

import java.util.ArrayList;

public class Exercise22 {

public static void main(String[] args) {

ArrayList <String> c1 = new ArrayList <String> ();

c1.add("Red");

c1.add("Green");

c1.add("Black");

c1.add("White");

c1.add("Pink");

System.out.println("\nOriginal array list: " + c1);

System.out.println("\nPrint using index of an element: ");

int no_of_elements = c1.size();

for (int index = 0; index < no_of_elements; index++)

System.out.println(c1.get(index));
}

OUTPUT:

Original array list: [Red, Green, Black, White, Pink]

Print using index of an element:

Red

Green

Black

White

Pink

23. Write a Java program to insert the specified element at the front of a linked list?

import java.util.LinkedList;

public class Exercise7

public static void main(String[] args)

LinkedList<String> l_list = new LinkedList<String>();

l_list.add("Red");

l_list.add("Green");

l_list.add("Black");

System.out.println("Original linked list:" + l_list);

l_list.offerFirst("Pink");

System.out.println("Final linked list:" + l_list);

}
}

OUTPUT:

Original linked list:[Red, Green, Black]

Final linked list:[Pink, Red, Green, Black]

24. Write a Java program to compare two sets and retain elements which are same on
both sets?

import java.util.*;

public class Exercise11

public static void main(String[] args)

HashSet<String> h_set1 = new HashSet<String>();

h_set1.add("Red");

h_set1.add("Green");

h_set1.add("Black");

h_set1.add("White");

System.out.println("Frist HashSet content:


"+h_set1);

HashSet<String>h_set2 = new HashSet<String>();

h_set2.add("Red");

h_set2.add("Pink");

h_set2.add("Black");

h_set2.add("Orange");

System.out.println("Second HashSet content:


"+h_set2);

h_set1.retainAll(h_set2);

System.out.println("HashSet content:");
System.out.println(h_set1);

OUTPUT:

Frist HashSet content: [Red, White, Black, Green]

Second HashSet content: [Red, Pink, Black, Orange]

HashSet content:

[Red, Black]

25. Write a Java program to get the element in a tree set which is strictly greater than
or equal to the given element?

import java.util.TreeSet;

import java.util.Iterator;

public class Exercise10

public static void main(String[] args)

TreeSet <Integer>tree_num = new TreeSet<Integer>();

TreeSet <Integer>treeheadset = new TreeSet<Integer>();

tree_num.add(20);

tree_num.add(32);

tree_num.add(46);

tree_num.add(35);

tree_num.add(26);

tree_num.add(80);

tree_num.add(92);

tree_num.add(99);
tree_num.add(24);

System.out.println("Greater than or equal to 86 :


"+tree_num.ceiling(86));

System.out.println("Greater than or equal to 29 :


"+tree_num.ceiling(29));

OUTPUT:

Greater than or equal to 86 : 92

Greater than or equal to 29 : 32

You might also like