# Find 2nd smallest integer in array || I have the method to find 1st :D but not 2nd :c

• 11-16-2010, 09:06 AM
Jukemode
Find 2nd smallest integer in array || I have the method to find 1st :D but not 2nd :c
Hey everyone. I'm pretty new to coding. Here I need to write a method to find the second smallest integer in a given array. What I have managed to put together is a method to find the smallest integer.

I'm thinking I need another for loop to test my 'low' variable to all the integers in the array again, thus finding the next lowest integer. I can put it into words as to what I want, but I have trouble actually coding it. Any words of advice, suggestions or corrections would be awesome. Also, I'd like to figure it myself, so no doing it for me!

take a look...

Code:

```    public static void main(String[] args) {         int array[] = {7, 9, 6, 8, 13};         int low = 9999999;         for (int counter = 0; counter < array.length; counter++) {             if (low > array[counter]) {                 low = array[counter];                 counter++;             }         }             System.out.println(array[low]);     }```
• 11-16-2010, 10:47 AM
Jukemode
K, after a little work, I kinda scrapped my first plan and restarted. But I posted my results. I threw in another for loop, but also used if-else statements to store minimum and second lowest values. Looks pretty good, and runs fine. Any suggestions as what I could improve would be great. Thanks.
;)

Code:

```import java.util.Scanner; public class Main {     public static void main(String[] args) {         Scanner k = new Scanner(System.in);         int array[] = new int[5];         System.out.println("Enter your 5 digits, separated by spaces:");         for (int i = 0; i < 5; i++) {             array[i] = k.nextInt();                 if(array.length != 5) {             System.out.println("Error");             System.out.println("Please try again.");             }         }         int min = 0;         int second = 0;         if (array[0] < array[1]) {             min = array[0];             second = array[1];         } else {             min = array[1];             second = array[0];         }         for (int counter = 2; counter < 5; counter++) {             if (array[counter] <= min) {                 second = min;                 min = array[counter];             } else {                 if (array[counter] < second) {                     second = array[counter];             }         }     }         System.out.println("The second smallest number is " + second);     } }```