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

时间:2015-09-05 22:47:44

标签: java void

Hello StackOverflow这是我的第一篇帖子,所以如果这种格式搞砸了,我道歉。我的说明是:编写一个名为DistanceVoid的类,其中包含void方法距离,如下所示。当在main方法的循环中重复调用时,这个方法(单独)应该生成与上面的程序1所显示的完全相同的表。我会放一个图像,但它不会让我。这是我的代码。

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);

        }

    }
}

我做了很多研究,并尝试过这个,我在课堂论坛上发帖,没有回复。任何方向都会有所帮助我还需要能够在我正在调用的无效方法中将公里打印到里程数。任何有关如何使此代码更清洁和更好的建议也将不胜感激!

以下是结果应该是什么的链接 http://imgur.com/H9HuTye

1 个答案:

答案 0 :(得分:1)

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

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