Q Write a program called SmallestLargestjava which outputs t
Q. Write a program called SmallestLargest.java which outputs the biggest and smallest numbers in a list of numbers entered by the user.
Ask the user for a terminating value which should be entered again when they are done inputting the list of numbers.
I am almost done with this problem, but my problem is that when I input several numbers as the following, I got wrong max result (but min result is correct) which is 19.14, instead of 100. Can you tell me which is wrong in my code?
3.0
5.10
6.20
9.00
100.00
17.02
10.73
19.14
3.00
MY CODE
public class SmallestLargest {
public static void main(String[] args) {
System.out.print(\"Enter terminating value: \");
double term = IO.readDouble();
System.out.print(\"Enter number: \");
double number = IO.readDouble();
if (term==number) {
IO.reportBadInput();
return;
}
double min = number;
double max = number;
while (term!=number) {
System.out.print(\"Enter number: \");
number = IO.readDouble();
if (term!=number && number < min) {
min = number;}
else if (term!=number && number>min) {
max = number;}
}
IO.outputDoubleAnswer(max);
IO.outputDoubleAnswer(min);}}
Solution
// SmallestLargest.java
import java.util.Scanner;
public class SmallestLargest
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.print(\"Enter terminating value: \");
double term = sc.nextDouble();
System.out.print(\"\ Enter number: \");
double number = sc.nextDouble();
if (term==number)
{
System.out.println(\"Terminating value entered\ \");
System.exit(0);
}
double min = number;
double max = number;
while (term!=number)
{
System.out.print(\"Enter number: \");
number = sc.nextDouble();
if (term!=number && number < min)
{
min = number;
}
if (term!=number && number > max)
{
max = number;
}
}
System.out.println(\"\ Max: \" + max);
System.out.println(\"Min: \" + min);
}
}
/*
output:
Enter terminating value: 3.0
Enter number: 5.10
Enter number: 6.20
Enter number: 9.00
Enter number: 100.00
Enter number: 17.02
Enter number: 10.73
Enter number: 19.14
Enter number: 3.00
Max: 100.0
Min: 5.1
*/


