import java.io.File; import java.io.IOException; import java.io.PrintStream; import java.util.Collection; import java.util.Collections; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; import java.util.TreeSet; import java.util.Scanner; public class DayMonth { public static void main(String[] args) throws IOException { PrintStream output = System.out; Map daysInMonth = new LinkedHashMap(); daysInMonth.put("Jan", 31); daysInMonth.put("Feb", 28); daysInMonth.put("Mar", 31); daysInMonth.put("Apr", 30); daysInMonth.put("May", 31); daysInMonth.put("Jun", 30); daysInMonth.put("Jul", 31); daysInMonth.put("Aug", 31); daysInMonth.put("Sep", 30); daysInMonth.put("Oct", 31); daysInMonth.put("Nov", 30); daysInMonth.put("Dec", 31); for (String month : daysInMonth.keySet()) { output.printf("%s : %d%n", month, daysInMonth.get(month)); } Set days = new TreeSet(daysInMonth.values()); for (Integer day : days) { output.printf("%d%n", day); } for (Integer day : days) { for (String month : daysInMonth.keySet()) { if (daysInMonth.get(month).equals(day)) { output.printf("%s : %d%n", month, day); } } output.println("---"); } } }