package Distance; /** * Convert Distances from Metric and Imperial "scale" * * Noah Cyr * 10/4/11 */ import java.util.Scanner; import java.text.DecimalFormat; public class distanceMethod2 { public static void main (String[] args) { Scanner keys = new Scanner (System.in); Scanner scan = new Scanner (System.in); Scanner key = new Scanner (System.in); char loop = 'y'; char loops = 'y'; String type = " ", type2 = " "; double in = 0, ft = 0, yd = 0, mi = 0; double mm = 0, cm = 0, m = 0, km = 0;//creates floating points DecimalFormat df = new DecimalFormat ("#,###,###,###,###,###,###,###,###,###,###,###,###,###,###,###,###,###,###,###,###,###,###,###,###,###,###.################"); while (loop == 'y'){ System.out.println("\f"); //clear window in bluej while (loops == 'y'){ System.out.println("\f"); System.out.println("Enter the starting distance type." + "\n" + "\"Inches\", \"Feet\", \"Yards\", \"Miles\", \"Millimeters\", \"Centimeters\", \"Meters\", \"Kilometers\" or \"0\" to exit."); type = scan.next(); if (type.equals("0")) return; if (type.equalsIgnoreCase("Inches")){// if input is "inches" with no regard for case following code is enacted typeInches(in, scan); break;//exits this loop } else if (type.equalsIgnoreCase("Feet")){// if input is "yards" with no regard for case following code is enacted typeFeet(ft, scan); System.out.println("Before break " + type + ft + type2); break;//exits this loop } else if (type.equalsIgnoreCase("Yards")){// if input is "feet" with no regard for case following code is enacted typeYards(yd, scan); break;//exits this loop } else if (type.equalsIgnoreCase("Miles")){// if input is "miles" with no regard for case following code is enacted typeMiles(mi, scan); break;//exits this loop } else if (type.equalsIgnoreCase("Millimeters")){ typeMillimeters(mm, scan); break;//exits this loop } else if (type.equalsIgnoreCase("Centimeters")){ typeCentimeters(cm, scan); break;//exits this loop } else if (type.equalsIgnoreCase("Meters")){ typeMeters(m, scan); break;//exits this loop } else if (type.equalsIgnoreCase("Kilometers")){ typeKilometers(km, scan); break;//exits this loop } else { typeElse(loops, keys); } } System.out.println("before type2 " + type + ft + type2); type2 = scan.next(); System.out.println(type + ft + type2); if (type2.equalsIgnoreCase("Inches")) type2Inches(type, df, in, ft, yd, mi, mm, cm, m, km); else if (type2.equalsIgnoreCase("Feet")) type2Feet(type, df, in, ft, yd, mi, mm, cm, m, km); else if (type2.equalsIgnoreCase("Yards")) type2Yards(type, df, in, ft, yd, mi, mm, m, m, km); else if (type2.equalsIgnoreCase("Miles")) type2Miles(type, df, in, ft, yd, mi, mm, cm, m, km); else if (type2.equalsIgnoreCase("Millimeters")) type2Millimeters(type, df, in, ft, yd, mi, mm, cm, m, km); else if (type2.equalsIgnoreCase("Centimeters")) type2Centimeters(type, df, in, ft, yd, mi, mm, cm, m, km); else if (type2.equalsIgnoreCase("Meters")) type2Meters(type, df, in, ft, yd, mi, mm, cm, m, km); else if (type2.equalsIgnoreCase("Kilometers")) type2Kilometers(type, df, in, ft, yd, mi, mm, cm, m, km); System.out.println("Run the program again? y/n"); loop = key.next().charAt(0); } } public static double typeInches(double in, Scanner scan){ System.out.println("How many inches are there?"); in = scan.nextDouble(); System.out.println("What do you want to convert it to?" + "\n" + "\"Inches\", \"Feet\", \"Yards\", \"Miles\", \"Millimeters\", \"Centimeters\", \"Meters\", \"Kilometers\""); return in; } public static double typeFeet(double ft, Scanner scan){ System.out.println("How many feet are there?"); ft = scan.nextDouble(); System.out.println("What do you want to convert it to?" + "\n" + "\"Inches\", \"Feet\", \"Yards\", \"Miles\", \"Millimeters\", \"Centimeters\", \"Meters\", \"Kilometers\""); System.out.println(ft); return ft; } public static double typeYards(double yd, Scanner scan){ System.out.println("How many yards are there?"); yd = scan.nextDouble(); System.out.println("What do you want to convert it to?" + "\n" + "\"Inches\", \"Feet\", \"Yards\", \"Miles\", \"Millimeters\", \"Centimeters\", \"Meters\", \"Kilometers\""); return yd; } public static double typeMiles(double mi, Scanner scan){ System.out.println("How many miles are there?"); mi = scan.nextDouble(); System.out.println("What do you want to convert it to?" + "\n" + "\"Inches\", \"Feet\", \"Yards\", \"Miles\", \"Millimeters\", \"Centimeters\", \"Meters\", \"Kilometers\""); return mi; } public static double typeMillimeters(double mm, Scanner scan){ System.out.println("How many Millimeters are there?"); mm = scan.nextDouble(); System.out.println("What do you want to convert it to?" + "\n" + "\"Inches\", \"Feet\", \"Yards\", \"Miles\", \"Millimeters\", \"Centimeters\", \"Meters\", \"Kilometers\""); return mm; } public static double typeCentimeters(double cm, Scanner scan){ System.out.println("How many Centimeters are there?"); cm = scan.nextDouble(); System.out.println("What do you want to convert it to?" + "\n" + "\"Inches\", \"Feet\", \"Yards\", \"Miles\", \"Millimeters\", \"Centimeters\", \"Meters\", \"Kilometers\""); return cm; } public static double typeMeters(double m, Scanner scan){ System.out.println("How many Meters are there?"); m = scan.nextDouble(); System.out.println("What do you want to convert it to?" + "\n" + "\"Inches\", \"Feet\", \"Yards\", \"Miles\", \"Millimeters\", \"Centimeters\", \"Meters\", \"Kilometers\""); return m; } public static double typeKilometers(double km, Scanner scan){ System.out.println("How many Kilometers are there?"); km = scan.nextDouble(); System.out.println("What do you want to convert it to?" + "\n" + "\"Inches\", \"Feet\", \"Yards\", \"Miles\", \"Millimeters\", \"Centimeters\", \"Meters\", \"Kilometers\""); return km; } public static char typeElse(char loops, Scanner keys){ System.out.println("That is not valid!!"); System.out.println("Run again? y/n"); loops = keys.next().charAt(0); if (loops == 'n') return loops; if (loops != 'n' || loops != 'y'){ System.out.println("\f"); System.out.println("That is not valid!!"); System.out.println("Run again? y/n"); loops = keys.next().charAt(0); } return loops; } public static String type2Inches(String type, DecimalFormat df, double in, double ft, double yd, double mi, double mm, double cm, double m, double km){ if (type.equalsIgnoreCase("Inches")) System.out.println(df.format(in) + " inch(es) is " + df.format(in) + " inch(es)"); if (type.equalsIgnoreCase("Feet")) System.out.println(df.format(ft) + " feet is " + df.format(ft*12) + " inch(es)"); if (type.equalsIgnoreCase("Yards")) System.out.println(df.format(yd) + " yard(s) is " + df.format(yd*36) + " inch(es)"); if (type.equalsIgnoreCase("Miles")) System.out.println(df.format(mi) + " mile(s) is " + df.format(mi*63360) + " inch(es)"); if (type.equalsIgnoreCase("Millimeters")) System.out.println(df.format(mm) + " Millimeter(s) is " + df.format(mm*.03937007874) + " inch(es)"); if (type.equalsIgnoreCase("Centimeters")) System.out.println(df.format(cm) + " Centimeter(s) is " + df.format(cm*.3937007874) + " inch(es)"); if (type.equalsIgnoreCase("Meters")) System.out.println(df.format(m) + " Meter(s) is " + df.format(m*39.37007874) + " inch(es)"); if (type.equalsIgnoreCase("Kilometers")) System.out.println(df.format(km) + " Kilometer(s) is " + df.format(km*39370.07874) + " inch(es)"); return type; } public static String type2Feet(String type, DecimalFormat df, double in, double ft, double yd, double mi, double mm, double cm, double m, double km){ if (type.equalsIgnoreCase("Inches")) System.out.println(df.format(in) + " inch(es) is " + df.format(in/12) + " feet"); if (type.equalsIgnoreCase("Feet")) System.out.println(df.format(ft) + " feet is " + df.format(ft) + " feet"); if (type.equalsIgnoreCase("Yards")) System.out.println(df.format(yd) + " yard(s) is " + df.format(yd*3) + " feet"); if (type.equalsIgnoreCase("Miles")) System.out.println(df.format(mi) + " mile(s) is " + df.format(mi*5280) + " feet"); if (type.equalsIgnoreCase("Millimeters")) System.out.println(df.format(mm) + " Millimeter(s) is " + df.format(mm/304.8) + " feet"); if (type.equalsIgnoreCase("Centimeters")) System.out.println(df.format(cm) + " Centimeter(s) is " + df.format(cm/30.48) + " feet"); if (type.equalsIgnoreCase("Meters")) System.out.println(df.format(m) + " Meter(s) is " + df.format(m/.3048) + " feet"); if (type.equalsIgnoreCase("Kilometers")) System.out.println(df.format(km) + " Kilometer(s) is " + df.format(km*3280.839895) + " feet"); return type; } public static String type2Yards(String type, DecimalFormat df, double in, double ft, double yd, double mi, double mm, double cm, double m, double km){ if (type.equalsIgnoreCase("Inches")) System.out.println(df.format(in) + " inch(es) is " + df.format(in/3) + " yard(s)"); if (type.equalsIgnoreCase("Feet")) System.out.println(df.format(ft) + " feet is " + df.format(ft/3) + " yard(s)"); if (type.equalsIgnoreCase("Yards")) System.out.println(df.format(yd) + " yard(s) is " + df.format(yd) + " yard(s)"); if (type.equalsIgnoreCase("Miles")) System.out.println(df.format(mi) + " mile(s) is " + df.format(mi*1760) + " yard(s))"); if (type.equalsIgnoreCase("Millimeters")) System.out.println(df.format(mm) + " Millimeter(s) is " + df.format(mm/914.4) + " yard(s)"); if (type.equalsIgnoreCase("Centimeters")) System.out.println(df.format(cm) + " Centimeter(s) is " + df.format(cm/91.44) + " yard(s)"); if (type.equalsIgnoreCase("Meters")) System.out.println(df.format(m) + " Meter(s) is " + df.format(m/.9144) + " yard(s)"); if (type.equalsIgnoreCase("Kilometers")) System.out.println(df.format(km) + " Kilometer(s) is " + df.format(km*1093.6132983) + " yard(s)"); return type; } public static String type2Miles(String type, DecimalFormat df, double in, double ft, double yd, double mi, double mm, double cm, double m, double km){ if (type.equalsIgnoreCase("Inches")) System.out.println(df.format(in) + " inch(es) is " + df.format(in/63360) + " Mile(s)"); if (type.equalsIgnoreCase("Feet")) System.out.println(df.format(ft) + " feet is " + df.format(ft/5280) + " Mile(s)"); if (type.equalsIgnoreCase("Yards")) System.out.println(df.format(yd) + " yard(s) is " + df.format(yd/1760) + " Mile(s)"); if (type.equalsIgnoreCase("Miles")) System.out.println(df.format(mi) + " mile(s) is " + df.format(mi) + " Mile(s)"); if (type.equalsIgnoreCase("Millimeters")) System.out.println(df.format(mm) + " Millimeter(s) is " + df.format(mm/1609344) + " Mile(s)"); if (type.equalsIgnoreCase("Centimeters")) System.out.println(df.format(cm) + " Centimeter(s) is " + df.format(cm/160934.4) + " Mile(s)"); if (type.equalsIgnoreCase("Meters")) System.out.println(df.format(m) + " Meter(s) is " + df.format(m/1609.344) + " Mile(s)"); if (type.equalsIgnoreCase("Kilometers")) System.out.println(df.format(km) + " Kilometer(s) is " + df.format(km*0.62137119224) + " Mile(s)"); return type; } public static String type2Millimeters(String type, DecimalFormat df, double in, double ft, double yd, double mi, double mm, double cm, double m, double km){ if (type.equalsIgnoreCase("Inches")) System.out.println(df.format(in) + " inch(es) is " + df.format(in*25.4) + " Millimeter(s)"); if (type.equalsIgnoreCase("Feet")) System.out.println(df.format(ft) + " feet is " + df.format(ft*304.8) + " Millimeter(s)"); if (type.equalsIgnoreCase("Yards")) System.out.println(df.format(yd) + " yard(s) is " + df.format(yd*914.4 ) + " Millimeter(s)"); if (type.equalsIgnoreCase("Miles")) System.out.println(df.format(mi) + " mile(s) is " + df.format(mi*1609344) + " Millimeter(s))"); if (type.equalsIgnoreCase("Millimeters")) System.out.println(df.format(mm) + " Millimeter(s) is " + df.format(mm) + " Millimeters"); if (type.equalsIgnoreCase("Centimeters")) System.out.println(df.format(cm) + " Centimeter(s) is " + df.format(cm*10) + " Millimeter(s)"); if (type.equalsIgnoreCase("Meters")) System.out.println(df.format(m) + " Meter(s) is " + df.format(m*1000) + " Millimeter(s)"); if (type.equalsIgnoreCase("Kilometers")) System.out.println(df.format(km) + " Kilometer(s) is " + df.format(km*1000000) + " Millimeter(s)"); return type; } public static String type2Centimeters(String type, DecimalFormat df, double in, double ft, double yd, double mi, double mm, double cm, double m, double km){ if (type.equalsIgnoreCase("Inches")) System.out.println(df.format(in) + " inch(es) is " + df.format(in*2.54) + " Centimeter(s)"); if (type.equalsIgnoreCase("Feet")) System.out.println(df.format(ft) + " feet is " + df.format(ft*30.48 ) + " Centimeter(s)"); if (type.equalsIgnoreCase("Yards")) System.out.println(df.format(yd) + " yard(s) is " + df.format(yd*91.44 ) + " Centimeter(s)"); if (type.equalsIgnoreCase("Miles")) System.out.println(df.format(mi) + " mile(s) is " + df.format(mi*160934.4 ) + " Centimeter(s))"); if (type.equalsIgnoreCase("Millimeters")) System.out.println(df.format(mm) + " Millimeter(s) is " + df.format(mm/10) + " Centimeter(s)"); if (type.equalsIgnoreCase("Centimeters")) System.out.println(df.format(cm) + " Centimeter(s) is " + df.format(cm) + " Centimeter(s)"); if (type.equalsIgnoreCase("Meters")) System.out.println(df.format(m) + " Meter(s) is " + df.format(m*100) + " Centimeter(s)"); if (type.equalsIgnoreCase("Kilometers")) System.out.println(df.format(km) + " Kilometer(s) is " + df.format(km*100000) + " Centimeter(s)"); return type; } public static String type2Meters(String type, DecimalFormat df, double in, double ft, double yd, double mi, double mm, double cm, double m, double km){ if (type.equalsIgnoreCase("Inches")) System.out.println(df.format(in) + " inch(es) is " + df.format(in*.0254) + " Meter(s)"); if (type.equalsIgnoreCase("Feet")) System.out.println(df.format(ft) + " feet is " + df.format(ft*.3048) + " Meter(s)"); if (type.equalsIgnoreCase("Yards")) System.out.println(df.format(yd) + " yard(s) is " + df.format(yd*.9144) + " Meter(s)"); if (type.equalsIgnoreCase("Miles")) System.out.println(df.format(mi) + " mile(s) is " + df.format(mi*1609.344) + " Meter(s))"); if (type.equalsIgnoreCase("Millimeters")) System.out.println(df.format(mm) + " Millimeter(s) is " + df.format(mm/1000) + " Meter(s)"); if (type.equalsIgnoreCase("Centimeters")) System.out.println(df.format(cm) + " Centimeter(s) is " + df.format(cm/100) + " Meter(s)"); if (type.equalsIgnoreCase("Meters")) System.out.println(df.format(m) + " Meter(s) is " + df.format(m) + " Meter(s)"); if (type.equalsIgnoreCase("Kilometers")) System.out.println(df.format(km) + " Kilometer(s) is " + df.format(km*1000) + " Meter(s)"); return type; } public static String type2Kilometers(String type, DecimalFormat df, double in, double ft, double yd, double mi, double mm, double cm, double m, double km){ if (type.equalsIgnoreCase("Inches")) System.out.println(df.format(in) + " inch(es) is " + df.format(in*.0000254) + " Kilometer(s)"); if (type.equalsIgnoreCase("Feet")) System.out.println(df.format(ft) + " feet is " + df.format(ft*.0003048) + " Kilometer(s)"); if (type.equalsIgnoreCase("Yards")) System.out.println(df.format(yd) + " yard(s) is " + df.format(yd*.0009144) + " Kilometer(s)"); if (type.equalsIgnoreCase("Miles")) System.out.println(df.format(mi) + " mile(s) is " + df.format(mi*1.609344) + " Kilometer(s))"); if (type.equalsIgnoreCase("Millimeters")) System.out.println(df.format(mm) + " Millimeter(s) is " + df.format(mm/1000000) + " Kilometer(s)"); if (type.equalsIgnoreCase("Centimeters")) System.out.println(df.format(cm) + " Centimeter(s) is " + df.format(cm/100000) + " Kilometer(s)"); if (type.equalsIgnoreCase("Meters")) System.out.println(df.format(m) + " Meter(s) is " + df.format(m/1000) + " Kilometer(s)"); if (type.equalsIgnoreCase("Kilometers")) System.out.println(df.format(km) + " Kilometer(s) is " + df.format(km) + " Kilometer(s)"); return type; } }