Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    New to the CF scene
    Join Date
    Oct 2010
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Arrow 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]);
        }

  • #2
    New to the CF scene
    Join Date
    Oct 2010
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts
    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);
        }
    }


  •  

    Posting Permissions

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