import java.util.Arrays;
public class SortDecimalStrings {
// Comparator method to sort strings as decimal numbers
public static int compareAsDecimal(String a, String b) {
// Convert strings to double for comparison
double numA = Double.parseDouble(a);
double numB = Double.parseDouble(b);
return Double.compare(numA, numB);
}
public static void main(String[] args) {
// Input array of strings
String[] numbers = {"12.3", "5.6", "789.1", "3.14", "456.0", "0", "0.01", "4.0"};
// Sort the array using the custom comparator
Arrays.sort(numbers, (a, b) -> compareAsDecimal(a, b));
System.out.println("Sorted array of decimal strings:");
for (String num : numbers) {
System.out.print(num + " ");
}
}
}
/*
run:
Sorted array of decimal strings:
0 0.01 3.14 4.0 5.6 12.3 456.0 789.1
*/