4. Metric_Convertion
Някой с по елегантно решение по задача 4 от упражненията?
import java.util.Scanner; public class Metric_Converter { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double n = Double.parseDouble(scanner.nextLine()); String input = scanner.nextLine(); String output = scanner.nextLine(); /* meters */ if (input.equals("m") & output.equals("mm")) { System.out.printf("%.8f", (n * 1000)); } else if (input.equals("m") & output.equals("cm")) { System.out.printf("%.8f", (n * 100)); } else if (input.equals("m") & output.equals("mi")) { System.out.printf("%.8f", (n * 0.000621371192)); } else if (input.equals("m") & output.equals("in")) { System.out.printf("%.8f", (n * 39.3700787)); } else if (input.equals("m") & output.equals("km")) { System.out.printf("%.8f", (n * 0.001)); } else if (input.equals("m") & output.equals("ft")) { System.out.printf("%.8f", (n * 3.2808399)); } else if (input.equals("m") & output.equals("yd")) { System.out.printf("%.8f", (n * 1.0936133)); } else if (input.equals("m") & output.equals("m")) { System.out.printf("%.8f", n); } /* milimiters */ if (input.equals("mm") & output.equals("m")) { System.out.printf("%.8f", (n / 1000)); } else if (input.equals("mm") & output.equals("cm")) { System.out.printf("%.8f", (n * 100) / 1000); } else if (input.equals("mm") & output.equals("mi")) { System.out.printf("%.8f", (n * 0.000621371192) / 1000); } else if (input.equals("mm") & output.equals("in")) { System.out.printf("%.8f", (n * 39.3700787) / 1000); } else if (input.equals("mm") & output.equals("km")) { System.out.printf("%.8f", (n * 0.001) / 1000); } else if (input.equals("mm") & output.equals("ft")) { System.out.printf("%.8f", (n * 3.2808399) / 1000); } else if (input.equals("mm") & output.equals("yd")) { System.out.printf("%.8f", (n * 1.0936133) / 1000); } else if (input.equals("mm") & output.equals("mm")) { System.out.printf("%.8f", n); } /* centimiters */ if (input.equals("cm") & output.equals("m")) { System.out.printf("%.8f", (n / 100)); } else if (input.equals("cm") & output.equals("mm")) { System.out.printf("%.8f", (n * 1000) / 100); } else if (input.equals("cm") & output.equals("mi")) { System.out.printf("%.8f", (n * 0.000621371192) / 100); } else if (input.equals("cm") & output.equals("in")) { System.out.printf("%.8f", (n * 39.3700787) / 100); } else if (input.equals("cm") & output.equals("km")) { System.out.printf("%.8f", (n * 0.001) / 100); } else if (input.equals("cm") & output.equals("ft")) { System.out.printf("%.8f", (n * 3.2808399) / 100); } else if (input.equals("cm") & output.equals("yd")) { System.out.printf("%.8f", (n * 1.0936133) / 100); } else if (input.equals("cm") & output.equals("cm")) { System.out.printf("%.8f", n); } /* mile */ if (input.equals("mi") & output.equals("m")) { System.out.printf("%.8f", (n / 0.000621371192)); } else if (input.equals("mi") & output.equals("mm")) { System.out.printf("%.8f", (n * 1000) / 0.000621371192); } else if (input.equals("mi") & output.equals("cm")) { System.out.printf("%.8f", (n * 100) / 0.000621371192); } else if (input.equals("mi") & output.equals("in")) { System.out.printf("%.8f", (n * 39.3700787) / 0.000621371192); } else if (input.equals("mi") & output.equals("km")) { System.out.printf("%.8f", (n * 0.001) / 0.000621371192); } else if (input.equals("mi") & output.equals("ft")) { System.out.printf("%.8f", (n * 3.2808399) / 0.000621371192); } else if (input.equals("mi") & output.equals("yd")) { System.out.printf("%.8f", (n * 1.0936133) / 0.000621371192); } else if (input.equals("mi") & output.equals("mi")) { System.out.printf("%.8f", n); } /* inch */ if (input.equals("in") & output.equals("m")) { System.out.printf("%.8f", (n / 39.3700787)); } else if (input.equals("in") & output.equals("mm")) { System.out.printf("%.8f", (n * 1000) / 39.3700787); } else if (input.equals("in") & output.equals("cm")) { System.out.printf("%.8f", (n * 100) / 39.3700787); } else if (input.equals("in") & output.equals("mi")) { System.out.printf("%.8f", (n * 0.000621371192) / 39.3700787); } else if (input.equals("in") & output.equals("km")) { System.out.printf("%.8f", (n * 0.001) / 39.3700787); } else if (input.equals("in") & output.equals("ft")) { System.out.printf("%.8f", (n * 3.2808399) / 39.3700787); } else if (input.equals("in") & output.equals("yd")) { System.out.printf("%.8f", (n * 1.0936133) / 39.3700787); } else if (input.equals("in") & output.equals("in")) { System.out.printf("%.8f", n); } /* kilometer */ if (input.equals("km") & output.equals("m")) { System.out.printf("%.8f", (n / 0.001)); } else if (input.equals("km") & output.equals("mm")) { System.out.printf("%.8f", (n * 1000) / 0.001); } else if (input.equals("km") & output.equals("cm")) { System.out.printf("%.8f", (n * 100) / 0.001); } else if (input.equals("km") & output.equals("mi")) { System.out.printf("%.8f", (n * 0.000621371192) / 0.001); } else if (input.equals("km") & output.equals("in")) { System.out.printf("%.8f", (n * 39.3700787) / 0.001); } else if (input.equals("km") & output.equals("ft")) { System.out.printf("%.8f", (n * 3.2808399) / 0.001); } else if (input.equals("km") & output.equals("yd")) { System.out.printf("%.8f", (n * 1.0936133) / 0.001); } else if (input.equals("km") & output.equals("km")) { System.out.printf("%.8f", n); } /* feet */ if (input.equals("ft") & output.equals("m")) { System.out.printf("%.8f", (n / 3.2808399)); } else if (input.equals("ft") & output.equals("mm")) { System.out.printf("%.8f", (n * 1000) / 3.2808399); } else if (input.equals("ft") & output.equals("cm")) { System.out.printf("%.8f", (n * 100) / 3.2808399); } else if (input.equals("ft") & output.equals("mi")) { System.out.printf("%.8f", (n * 0.000621371192) / 3.2808399); } else if (input.equals("ft") & output.equals("in")) { System.out.printf("%.8f", (n * 39.3700787) / 3.2808399); } else if (input.equals("ft") & output.equals("km")) { System.out.printf("%.8f", (n * 0.001) / 3.2808399); } else if (input.equals("ft") & output.equals("yd")) { System.out.printf("%.8f", (n * 1.0936133) / 3.2808399); } else if (input.equals("ft") & output.equals("ft")) { System.out.printf("%.8f", n); } /* yard */ if (input.equals("yd") & output.equals("m")) { System.out.printf("%.8f", (n / 1.0936133)); } else if (input.equals("yd") & output.equals("mm")) { System.out.printf("%.8f", (n * 1000) / 1.0936133); } else if (input.equals("yd") & output.equals("cm")) { System.out.printf("%.8f", (n * 100) / 1.0936133); } else if (input.equals("yd") & output.equals("mi")) { System.out.printf("%.8f", (n * 0.000621371192) / 1.0936133); } else if (input.equals("yd") & output.equals("in")) { System.out.printf("%.8f", (n * 39.3700787) / 1.0936133); } else if (input.equals("yd") & output.equals("km")) { System.out.printf("%.8f", (n * 0.001) / 1.0936133); } else if (input.equals("yd") & output.equals("ft")) { System.out.printf("%.8f", (n * 3.2808399) / 1.0936133); } else if (input.equals("yd") & output.equals("yd")) { System.out.printf("%.8f", n); } } }