Hello and welcome to our community! Is this your first visit?
Enjoy an ad free experience by logging in. Not a member yet? Register.

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

1. ## 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]);
}```

• 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");
}
}

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);
}
}```

•

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•