Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.Arrays;
- /**
- * Program: ThirdSmallestNumber.java
- * Purpose: Display 3rd smallest number in an array
- * Creator: Chris Clarke, author "50 Java Program Source Codes"
- * Created: 04.06.2014
- */
- public class ThirdSmallestNumber {
- static final int MAX = 10;
- static int[] k = new int[MAX];
- public static void main(String[] args) {
- // create scanner object to read user input by keyboard
- Scanner in = new Scanner(System.in);
- // prompt for user input
- System.out.println("Enter 10 numbers:");
- // loop MAX times
- for( int i =0; i<MAX; i++) {
- // get user input
- k[i] = in.nextInt();
- } // end for
- // display result
- System.out.println("The 3rd smallest number is: "+getThirdSmallest( k));
- } // end main()
- // find 3rd smallest number in array
- public static int getThirdSmallest(int[] k) {
- // works with or without repeated numbers
- // e.g. k = {1, 1, 1, 2, 2, 3, ...} returns 3, not 1
- // sort array in ascending numerical order
- Arrays.sort(k);
- // display sorted array
- //System.out.println( Arrays.toString( k));
- // k[0] is smallest
- int i=0;
- // find second- & third- smallest numbers
- // (not as simple as returning k[2] - see example above)
- // loop twice
- for (int j=2; j<=3; j++) {
- // iterate through any repeated numbers
- while (i<k.length-1 && k[i] == k[i+1]) i++;
- // move on to next different index, if it exists
- if (i<k.length-1) i++;
- } // end for j
- // returns number at position i of array k
- return k[i];
- } // end getThirdSmallest()
- } // end class ThirdSmallestNumber
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement