import java.util.Scanner;
// Conversion functions (all convert *from meters* first)
class Converter {
static double mmToMeters(double mm) { return mm / 1000.0; }
static double cmToMeters(double cm) { return cm / 100.0; }
static double kmToMeters(double km) { return km * 1000.0; }
static double milesToMeters(double mi) { return mi * 1609.34; }
static double feetToMeters(double ft) { return ft * 0.3048; }
static double yardsToMeters(double yd) { return yd * 0.9144; }
static double inchesToMeters(double in) { return in * 0.0254; }
// Convert meters → all units
static double toMillimeters(double m) { return m * 1000.0; }
static double toCentimeters(double m) { return m * 100.0; }
static double toKilometers(double m) { return m / 1000.0; }
static double toMiles(double m) { return m / 1609.34; }
static double toFeet(double m) { return m / 0.3048; }
static double toYards(double m) { return m / 0.9144; }
static double toInches(double m) { return m / 0.0254; }
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int choice;
double value, meters;
System.out.println("Choose input unit:");
System.out.println("1. Millimeters");
System.out.println("2. Centimeters");
System.out.println("3. Meters");
System.out.println("4. Kilometers");
System.out.println("5. Miles");
System.out.println("6. Feet");
System.out.println("7. Yards");
System.out.println("8. Inches");
System.out.print("Enter choice: ");
choice = sc.nextInt();
System.out.print("Enter value: ");
value = sc.nextDouble();
// Convert chosen unit → meters
switch (choice) {
case 1: meters = mmToMeters(value); break;
case 2: meters = cmToMeters(value); break;
case 3: meters = value; break;
case 4: meters = kmToMeters(value); break;
case 5: meters = milesToMeters(value); break;
case 6: meters = feetToMeters(value); break;
case 7: meters = yardsToMeters(value); break;
case 8: meters = inchesToMeters(value); break;
default:
System.out.println("Invalid choice");
return;
}
System.out.println();
System.out.println("Converted from meters (" + String.format("%.6f", meters) + " m):");
System.out.println("Millimeters: " + String.format("%.6f", toMillimeters(meters)));
System.out.println("Centimeters: " + String.format("%.6f", toCentimeters(meters)));
System.out.println("Meters: " + String.format("%.6f", meters));
System.out.println("Kilometers: " + String.format("%.6f", toKilometers(meters)));
System.out.println("Miles: " + String.format("%.6f", toMiles(meters)));
System.out.println("Feet (Foot): " + String.format("%.6f", toFeet(meters)));
System.out.println("Yards: " + String.format("%.6f", toYards(meters)));
System.out.println("Inches: " + String.format("%.6f", toInches(meters)));
}
}
/*
run:
Choose input unit:
1. Millimeters
2. Centimeters
3. Meters
4. Kilometers
5. Miles
6. Feet
7. Yards
8. Inches
Enter choice: 4
Enter value: 1
Converted from meters (1000.000000 m):
Millimeters: 1000000.000000
Centimeters: 100000.000000
Meters: 1000.000000
Kilometers: 1.000000
Miles: 0.621373
Feet (Foot): 3280.839895
Yards: 1093.613298
Inches: 39370.078740
*/