# Thread: printing two smallest numbers from a series of numbers

1. Member
Join Date
Oct 2008
Posts
2
Rep Power
0

## printing two smallest numbers from a series of numbers

Instructions: Write and debug a program by implementing a class called twoSmallest, which prompts the user to enter a series of numbers. Each number can have a fractional part. The user indicates the end of the list by typing a “z” as the next number. The program then prints out the two smallest numbers among the list that the user typed. The result for this problem should be a Java file called twoSmallest.java.

I am having no problem exiting the loop and printing the smallest number, I just cant figure out how to print the second smallest number.
Any suggestions?

import java.util.Scanner; // Needed for the Scanner class
public class TwoSmallest
{

public static void main(String[] args)
{

double smallest = Double.MAX_VALUE;
double secondsmallest ;

// Create a Scanner object for keyboard input.

Scanner sc = new Scanner(System.in);

// Display general instructions.

System.out.println("Enter a series of numbers.");

System.out.println("Press Z to exit the program.\n");

boolean exit = false;

while (!exit)

{

System.out.print("Enter a value ");

String input = sc.next();

if (input.equalsIgnoreCase("Z"))

exit = true;

else

{

double x = Double.parseDouble(input);

smallest = Math.min(smallest ,x);
}

}

System.out.println("Smallest number: " + smallest);

}

}

2. Senior Member
Join Date
Sep 2008
Posts
564
Rep Power
6
Two quick solutions I could think of.

1. You can take the easy route by inserting all inputs into a list, sorting it, and taking the first two values.

2. Obviously, you can keep track of two numbers instead of one in your loop. It only takes a little bit of thinking on how you would update those variables as you get each input.

3. I just cant figure out how to print the second smallest number.
This should do it:
System.out.println("Second smallest= " + secondsmallest);

#### Posting Permissions

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