How to convert between mm, cm, meters, kilometers, miles, feet, yards, and inches in Java

1 Answer

0 votes
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

*/

 



answered 2 hours ago by avibootz

Related questions

...