Can someone please help me with this? I am trying to write a java code that can
ID: 3784831 • Letter: C
Question
Can someone please help me with this? I am trying to write a java code that can sort 4 numbers in an increasing orders. I have written the following code but I dont know whats wrong with it. Sometimes it works and it actuallt sort the numbers other times it doesnt. For example if I enter 9 10 4 -2 it gives me 9 4 -2 10.
public class firstHomework {
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print("Enter four integers: ");
int number1 = input.nextInt();
int number2 = input.nextInt();
int number3 = input.nextInt();
int number4 = input.nextInt();
if (number1 > number2) {
int temp = number1;
number1 = number2;
number2 = temp;
}
if (number2 > number3) {
int temp = number2;
number2 = number3;
number3 = temp;
}
if (number3 > number4) {
int temp = number3;
number3 = number4;
number4 = temp;
}
System.out.println("The sorted numbers are "
+ number1 + " " + number2 + " " + number3 + " " + number4 + " ");
}
}
Explanation / Answer
Hi, Please find my implementation.
Please let me know in case of any issue.
public class firstHomework {
public static void main(String[] args) {
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print("Enter four integers: ");
int number1 = input.nextInt();
int number2 = input.nextInt();
int number3 = input.nextInt();
int number4 = input.nextInt();
int low1, low2, high1, high2, lowest, middle1, middle2, higest;
if(number1 < number2){
low1 = number1;
high1 = number2;
}
else{
low1 = number2;
high1 = number1;
}
if(number3 < number4){
low2 = number3;
high2 = number4;
}
else{
low2 = number4;
high2 = number3;
}
if(low1 < low2){
lowest = low1;
middle1 = low2;
}
else{
lowest = low2;
middle1 = low1;
}
if(high1 > high2){
higest = high1;
middle2 = high2;
}
else{
higest = high2;
middle2 = high1;
}
if(middle1 < middle2)
System.out.println("The sorted numbers are "
+ lowest + " " + middle1 + " " + middle2 + " " + higest + " ");
else
System.out.println("The sorted numbers are "
+ lowest + " " + middle2 + " " + middle1 + " " + higest + " ");
}
}
/*
Sample run:
Enter four integers: 9 4 1 2
The sorted numbers are 1 2 4 9
Enter four integers: 9 10 4 -2
The sorted numbers are -2 4 9 10
*/