0
0
JavaHow-ToBeginner · 2 min read

Java Program to Convert Kilometers to Miles

To convert kilometers to miles in Java, multiply the kilometers by 0.621371 using code like double miles = kilometers * 0.621371;.
📋

Examples

Input1
Output0.621371
Input5
Output3.106855
Input0
Output0.0
🧠

How to Think About It

To convert kilometers to miles, think of it as changing one unit to another by multiplying with a fixed number. Since 1 kilometer equals about 0.621371 miles, you multiply the kilometers by this number to get miles.
📐

Algorithm

1
Get the input value in kilometers.
2
Multiply the kilometers by 0.621371 to convert to miles.
3
Return or print the miles value.
💻

Code

java
public class KmToMiles {
    public static void main(String[] args) {
        double kilometers = 10;
        double miles = kilometers * 0.621371;
        System.out.println(kilometers + " kilometers is " + miles + " miles.");
    }
}
Output
10 kilometers is 6.21371 miles.
🔍

Dry Run

Let's trace converting 10 kilometers to miles through the code

1

Input kilometers

kilometers = 10

2

Multiply by conversion factor

miles = 10 * 0.621371 = 6.21371

3

Print result

Output: '10 kilometers is 6.21371 miles.'

kilometersmiles
106.21371
💡

Why This Works

Step 1: Use the conversion factor

The fixed number 0.621371 converts kilometers to miles because 1 kilometer equals approximately 0.621371 miles.

Step 2: Multiply kilometers by factor

Multiplying the kilometers by 0.621371 changes the unit from kilometers to miles.

Step 3: Display the result

Printing the result shows the converted value in miles for the user.

🔄

Alternative Approaches

Using a method to convert
java
public class KmToMiles {
    public static double convert(double km) {
        return km * 0.621371;
    }
    public static void main(String[] args) {
        double km = 15;
        System.out.println(km + " km = " + convert(km) + " miles");
    }
}
This approach separates conversion logic into a reusable method, improving code organization.
Using BigDecimal for precision
java
import java.math.BigDecimal;
public class KmToMiles {
    public static void main(String[] args) {
        BigDecimal km = new BigDecimal("20");
        BigDecimal factor = new BigDecimal("0.621371");
        BigDecimal miles = km.multiply(factor);
        System.out.println(km + " km = " + miles + " miles");
    }
}
Using BigDecimal improves precision for financial or scientific calculations but adds complexity.

Complexity: O(1) time, O(1) space

Time Complexity

The conversion is a single multiplication operation, so it runs in constant time O(1).

Space Complexity

Only a few variables are used, so space complexity is constant O(1).

Which Approach is Fastest?

All approaches run in constant time; using BigDecimal is slower but more precise, while simple double multiplication is fastest and sufficient for most cases.

ApproachTimeSpaceBest For
Simple multiplicationO(1)O(1)Quick and easy conversions
Method encapsulationO(1)O(1)Reusable and organized code
BigDecimal precisionO(1)O(1)High precision needs
💡
Always use the conversion factor 0.621371 to convert kilometers to miles accurately.
⚠️
Forgetting to multiply by the conversion factor and just printing the kilometers as miles.