Monday, July 24, 2023

Write a program to accept a word from the user . Print the converted word where the consonants are upgraded by nearest vowel and vowels are upgraded to nearest consonant.

 import java.util.Scanner;

import java.util.Random;

public class Main

{

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.print("Enter a word: ");

String word = scanner.nextLine();

scanner.close();

String convertedWord = convertWord(word);

System.out.println("Converted word: " + convertedWord);

}

private static String convertWord(String word)

{

StringBuilder converted = new StringBuilder();

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

{char convertedChar;

    

char c = word.charAt(i);

if (c!=' '){

 convertedChar = convertCharacter(c);}else{convertedChar =' ';}


converted.append(convertedChar);

}

return converted.toString();



private static char convertCharacter(char c)

{

if (isVowel(c))

{

return findNearestConsonant(c);

}

else

{

return findNearestVowel(c);

}

}



private static boolean isVowel(char c)

{

c = Character.toLowerCase(c);

return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';

}


private static char findNearestConsonant(char c)

{

while (true)

{

c--;

if (!isVowel(c))

{

return c;

}

}

private static char findNearestVowel(char c)

{

while (true)

{

c++;

if (isVowel(c))

{

return c;

}

}

}

}


Write a program to accept a string from user and display the words that are having repeating characters.

 import java.util.Scanner;

import java.util.Random;

public class Main

{

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.print("Enter a string: ");

String inputString = scanner.nextLine();

String[] words = inputString.split(" ");

System.out.println("Words with repeating characters:");

for (String word : words)

{

    if (hasRepeatingCharacters(word))

    {

        System.out.println(word);

    }

}

scanner.close();

}

private static boolean hasRepeatingCharacters(String word)

{

    for (int I = 0; I < word.length() - 1; I++)

    {

        char currentChar = word.charAt(I);

        for (int j = I + 1; j < word.length(); j++)

        {

            if (currentChar == word.charAt(j))

            {

                return true;

            }

        }

    }

        return false;

}

   

}



Enter a string: bbn bnb vbn xcdxx

Words with repeating characters:

bbn

bnb

xcdxx



Write a program to form a square Matrix of characters and display the row and column having the max valued characters .

 Write a program to form a square Matrix of characters and display the row and column having the max valued characters .


import java.util.Scanner;

import java.util.Random;

public class Main

{

public static void main(String[] args) {

int size = 5;

char[][] matrix = generateRandomMatrix(size);

System.out.println("Matrix:");

displayMatrix(matrix);

int[] maxIndices = findMaxValueIndices(matrix);

int maxRow = maxIndices[0];

int maxCol = maxIndices[1];

System.out.println("\nRow and column with maximum valued character:");

System.out.println("Row: " + maxRow);

System.out.println("Column: " + maxCol);

}

public static char[][] generateRandomMatrix(int size)

{

char[][] matrix = new char[size][size];

Random random = new Random();

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

{

for (int j = 0; j < size; j++)

{

matrix[i][j] = (char) (random.nextInt(26) + 'A');

}

}

return matrix;

}

public static void displayMatrix(char[][] matrix)

{

int size = matrix.length;

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

{

for (int j = 0; j < size; j++)

{

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

}

System.out.println();

}

}

public static int[] findMaxValueIndices(char[][] matrix)

{

int size = matrix.length;

int maxRow = 0;

int maxCol = 0;

int maxValue = matrix[maxRow][maxCol];

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

{

for (int j = 0; j < size; j++)

{

if (matrix[i][j] > maxValue) 

{

maxRow = i;

maxCol = j;

maxValue = matrix[i][j];

}

}

}

return new int[] { maxRow, maxCol };

}

}



Matrix:

L T B G E 

R I K G Q 

W R L O D 

S X V O B 

B Y U O G 


Row and column with maximum valued character:

Row: 4

Column: 1


Fascinating Number

 import java.util.Scanner;


public class Main

{

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.print("Enter a number: ");

int number = scanner.nextInt();

scanner.close();

if (isFascinatingNumber(number))

{

System.out.println(number + " is a fascinating number.");

}

else

{

System.out.println(number + " is not a fascinating number.");

}

}

private static boolean isFascinatingNumber(int number)

{

String concatenatedNumber = String.valueOf(number) + String.valueOf(number * 2) + String.valueOf(number * 3);

int digitCount = countDigits(concatenatedNumber);

int[] frequency = new int[10];

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

{

char digitChar = concatenatedNumber.charAt(i);

if (!Character.isDigit(digitChar) || frequency[digitChar - '0'] > 0) 

{

return false;

}

frequency[digitChar - '0']++;

}

return true;

}

private static int countDigits(String number)

{

return number.length();

}

}

KaprekarNumbers

 KaprekarNumbers


import java.util.Scanner;


public class Main

{

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

        System.out.print("Enter the value of p: ");

        int p = scanner.nextInt();

        System.out.print("Enter the value of q (where p < q): ");

        int q = scanner.nextInt();

        scanner.close();

        if (p >= q)

        {

            System.out.println("Invalid input. Please make sure p < q.");

            return;

        }

        int count = countKaprekarNumbers(p, q);

        System.out.println("Number of Kaprekar numbers between " + p + " and " + q + ": " + count);

        }

        private static int countKaprekarNumbers(int p, int q) 

        {

            int count = 0;

            for (int num = p; num <= q; num++)

            {

                if (isKaprekarNumber(num))

                {

                    System.out.println(num+" ");

                    count++;

                }

            }

            return count;

        }

        private static boolean isKaprekarNumber(int num)

        {

            long square = (long) num * num;

            String squareStr = String.valueOf(square);

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

            {

                String leftStr = squareStr.substring(0, i);

                String rightStr = squareStr.substring(i);

                int left = (leftStr.isEmpty()) ? 0 : Integer.parseInt(leftStr);

                int right = (rightStr.isEmpty()) ? 0 : Integer.parseInt(rightStr);

                if (left + right == num && left > 0 && right > 0)

                {

                    

                    return true;

                }

            }

        return false;

        }

}

Enter the value of p: 1
Enter the value of q (where p < q): 100
45 
55 
99 
Number of Kaprekar numbers between 1 and 100: 4



 4

 3

 2

 1

merge sort



Analysis of merge sort