w3resource
Java Programming Exercies

Java Array Exercises: Find smallest and second smallest elements of a given array

Java Array: Exercise-41 with Solution

Write a Java program to find smallest and second smallest elements of a given array.

Pictorial Presentation:

Java Array Exercises: Find smallest and second smallest elements of a given array

Sample Solution:

Java Code:

import java.util.*;
import java.lang.*;
public class Main
{
   public static void main (String[] args) 
    {
      int arr[] = {5, 7, -8, 5, 14, 1};
      
      int first_element, second_element, arr_size = arr.length;
 
        /* Return if the array size less than two */
        if (arr_size < 2)
        {
            System.out.println("Array size less than two.");
            return;
        }
 
        first_element = second_element = Integer.MAX_VALUE;
        for (int i = 0; i < arr_size ; i ++)
        {
            /* Update both first and second if current element is smaller than first. */
            if (arr[i] < first_element)
            {
                second_element = first_element;
                first_element = arr[i];
            }
 
            /* Update second if arr[i] is between first and second
               elements.*/
            else if (arr[i] < second_element && arr[i] != first_element)
                second_element = arr[i];
        }
        if (second_element == Integer.MAX_VALUE)
            System.out.println("No second smallest element.");
        else
            System.out.println("The smallest element is " +
                               first_element + " and second Smallest  element is " + second_element +".");
      
    }
}

Sample Output:

                                                                              
The smallest element is -8 and second Smallest  element is 1.

Flowchart:

Flowchart: Find smallest and second smallest elements of a given array

Java Code Editor:

Improve this sample solution and post your code through Disqus

Previous: Write a Java program to find the two elements from a given array of positive and negative numbers such that their sum is closest to zero.
Next: Write a Java program to segregate all 0s on left side and all 1s on right side of a given array of 0s and 1s.

What is the difficulty level of this exercise?



New Content: Composer: Dependency manager for PHP, R Programming