有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Void方法将英里转换为公里/公里转换为英里

您好,这是我的第一篇文章,如果格式有误,我深表歉意。我的说明是:编写一个名为DistanceVoid的类,该类包含void方法distance,如下所示。当在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);

        }

    }
}

我已经做了很多研究,并试图处理这个问题,我在我的班级论坛上没有回复。任何方向都会有帮助我还需要能够在我调用的void方法中打印此代码中的公里数到英里数。任何关于如何使此代码更干净更好的建议也将不胜感激

这里有一个链接,链接到结果应该是什么 http://imgur.com/H9HuTye


共 (1) 个答案

  1. # 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