将英里转换为公里/公里转换为英里的无效方法

Void method to convert miles to kilometers/ kilometers to miles

你好 Whosebug,这是我的第一个 post 如果格式有误,我深表歉意。我的指令是:写一个名为 DistanceVoid 的 class,其中包含 void 方法 distance,如下所示。当在 main 方法的循环内重复调用时,这个方法(本身)应该生成与上面程序 1 显示的完全相同的 table。 我会放一张图片,但它不会让我。这是我的代码。

package bryant6;


public class DistanceVoid {

    public static void main(String[] args) {
        distance(0);
    }

    public static void distance(double dist) {

        System.out.println("  Miles  Kilometers - Kilometers  Miles");
        System.out.println("-------------------------------------------------");
        int counter = 0;
        int distanceCounter = 0;
        while (counter < 10) {
            counter++;
            dist++;
            distanceCounter++;
            dist = distanceCounter * 1.609;
            System.out.print(counter + " ");
            System.out.println(dist);

        }

    }
}

我做了很多研究并尝试解决这个问题,但我在我的 class 论坛中 post 发表了评论,但没有任何回复。任何方向都会有所帮助。 我还需要能够在我调用的 void 方法中在此代码中打印公里到英里。任何有关如何使此代码更清晰和更好的建议也将不胜感激!

这是 link 结果应该是什么 http://imgur.com/H9HuTye

我不知道你在写什么,因为我添加了我的解决方案。我希望它能帮助你。

public class Calculator {

    private String distance(int destination, boolean isMiles) 
            throws IllegalArgumentException {
            if (destination < 0) {
                throw new IllegalArgumentException();
            }
            return String.format(destination + "  " +
                new DecimalFormat("#.###").format(
                        isMiles ? destination / 0.621371192 : destination / 1.609344));
        }
}

以及main方法中的用法:

public static void main(String[] args) {
    try {
        System.out.println(new Calculator().distance(10, false)); // 10 km
        System.out.println(new Calculator().distance(10, true)); // 10 m
    } catch (IllegalArgumentException e) {
        System.out.println("You pass wrong arguments to the method!");
    }
}

输出#1:

10  6.214
10  16.093

接下来在 for 循环中,您可以在一列中打印多个值。

for (int i = 0; i++ < 5;) {
    System.out.println(new Calculator().distance(i, false));
}

输出#2:

1  0.621
2  1.243
3  1.864
4  2.485
5  3.107