Skip to main content

Write a program in Java to find out the second smallest digit of a given number without using arrays

Question: Write a program in Java to find out the second smallest digit of a given number without using arrays.

Welcome to Programming Questions !!!. In this post, I will share the code to find out the second smallest digit of a given number without using the array. This question is frequently asked in google question hub, so in this post, you will get its solution.

Sample Input 1:

Enter Number Here --> 5281036974

Sample Output 1:

The Second Smallest number is 1

Sample Input 2:

Enter Number Here --> 333

Sample Output 2:

All digits of the given number are same, hence there is no second smallest number

Solution code:

import java.util.Scanner;
public class secondSmallest {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("Enter Number Here --> ");
        String number = in.nextLine();
        in.close();
        int smallest = -1;
        int secondSmallest = -1;
        boolean flag = true;
        for (int i = 0i < 10i++) {
            for (int j = 0j < number.length(); j++) {
                if (number.charAt(j) - 48 == i && smallest != -1 && smallest != i) {
                    secondSmallest = i;
                    flag = false;
                }
                if (number.charAt(j) - 48 == i)
                    smallest = i;
            }
            if (flag == false)
                break;
        }
        if (secondSmallest == -1)
            System.out.println("All digits of the given number are same, hence there is no second smallest number");
        else
            System.out.println("The Second Smallest number is " + secondSmallest);
    }
}

I hope that this answer will help you. If you have any question then do not keep it in your mind, put in front of all so that everyone could get its answer.

If you have any questions or want an explanation of any part of the code, feel free to comment below. Subscribe to this blog to get the answers to the latest programming question. You should check my other programming blog too.

Programming Chaska - where you can get several programs in C, C++, and JAVA

Comments

Popular posts from this blog

Which data type is appropriate to store age of person?

Which data type is appropriate to store the age of the person? I will clearly say that to store the age of the person, the appropriate data type is an  int data type. However, if you are trying to reduce space complexity, I will say that you should go for byte data type as it has a range of -128 to 127. On the other hand, int data type ranges from  -2,147,483,648 to 2,147,483,647.  So byte data type would be perfect as the age of a person is more likely to be smaller than 127 (the maximum number which a byte data type can store).  I would generally prefer int data type because of the following reasons: We should not use float data type to store age as it would be inappropriate because the age of a person is generally preferred in numbers and not the decimal format. For Example, We say that the Age of a person is 18 rather than saying that that the age of the person is 18.0 or something like that. We should not use the String data type as it would be tri...