borkins

08b. Metric Converter

Mar 23rd, 2017
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.62 KB | None | 0 0
  1. /*
  2.  * Simple Conditions
  3.  */
  4. import java.math.BigDecimal;
  5. import java.util.Scanner;
  6.  
  7. public class _08b_MetricConverter
  8. {
  9.     public static void main(String[] args)
  10.     {
  11.         Scanner scan = new Scanner(System.in);
  12.  
  13.         double inValue = Double.parseDouble(scan.nextLine());
  14.         String inUnit = scan.nextLine();
  15.         String outUnit = scan.nextLine();
  16.  
  17.         double meters;
  18.         BigDecimal outValue;
  19.  
  20.         switch (inUnit)
  21.         {
  22.             case "mm": meters = inValue / 1000d; break;
  23.             case "cm": meters = inValue / 100d; break;
  24.             case "mi": meters = inValue / 0.000621371192; break;
  25.             case "in": meters = inValue / 39.3700787; break;
  26.             case "km": meters = inValue / 0.001; break;
  27.             case "ft": meters = inValue / 3.2808399; break;
  28.             case "yd": meters = inValue / 1.0936133; break;
  29.             default: meters = inValue;
  30.         }
  31.        
  32.         switch (outUnit)
  33.         {
  34.             case "mm": outValue = new BigDecimal(meters * 1000d); break;
  35.             case "cm": outValue = new BigDecimal(meters * 100d); break;
  36.             case "mi": outValue = new BigDecimal(meters * 0.000621371192); break;
  37.             case "in": outValue = new BigDecimal(meters * 39.3700787); break;
  38.             case "km": outValue = new BigDecimal(meters * 0.001); break;
  39.             case "ft": outValue = new BigDecimal(meters * 3.2808399); break;
  40.             case "yd": outValue = new BigDecimal(meters * 1.0936133); break;
  41.             default: outValue = new BigDecimal(meters);
  42.         }
  43.         System.out.printf("%f %s", outValue, outUnit);
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment