构造函数或main()?如何将参数传递给方法?

时间:2015-12-30 16:17:13

标签: java

我越来越困惑自己,我没有人问这个问题。我独自在家,为考试而学习,并且已经开始了一段时间。我是Java的新手。请允许任何人告诉我,如果我在我的尝试中走在正确的轨道上(最后)。

我想问一下我是否应该在这个类中包含一个构造函数,或者我是否应该包含main方法(并使其成为应用程序类),我也想知道如何将99英里传递给方法。任何建议将不胜感激!谢谢。

问题

DistanceConversion类在附录A中列出。此类的目的是将以英里为单位指定的距离转换为公里,反之亦然。开发一个使用DistanceConversion类实例的类来执行以下转换:

(i)将99英里转换为公里   (ii)转换76公里到英里

并在屏幕上显示每次转化的结果。

清楚地显示如何在类中调用DistanceConversion类的每个方法来执行这些转换。

附录A:

class DistanceConversion {
  private double miles;
  private double kilometres; 

  public DistanceConversion(){
    miles = 0;
    kilometres = 0;
  }

  public void setMiles(double m){
    miles = m;
  }

  public double getMiles(){
    return miles;
  }

  public void setKilometers(double k){
    kilometres = k;
  }

  public double getKilometers(){
    return kilometres;
  }

  public void convertMilesToKilometers(){
    kilometres = miles * (8/5);
  }

  public void convertKilometersToMiles(){
    miles = kilometres * (5/8);
  }
}

到目前为止我的尝试:

public class Convert {

    //private int miles = 99;
   //private int kilometers = 76;

    public static void main(String args[]){

    public Convert(){   
    }

    DistanceConversion myConverter = new DistanceConversion();

    myConverter.convertMilesToKilometers();


    }
}

4 个答案:

答案 0 :(得分:1)

没有。

是一种主要方法
  • 创建DistanceConversion的实例
  • 设置里程,将它们转换为公里,获取公里并打印它们
  • 然后设置它的公里数,将它们转换为里程,获得里程并打印它们

您不需要任何构造函数或字段来执行此操作。一切都应该在主要方法中。

旁注:这个DistanceConversion类的设计非常糟糕。当然,你无能为力,但我觉得这是我的责任。

答案 1 :(得分:1)

根据经验,在创建对象的新实例时使用参数化构造函数,并且已经填充了值,并在创建对象后更改字段值时使用setter。构造函数方法已得到解答。您也可以在main方法中编写类似的东西:

public class Convert {

    private int miles = 99;
   //private int kilometers = 76;

    public static void main(String args[]){
      DistanceConversion myConverter = new DistanceConversion();
      myConverter.setMiles(99);
      myConverter.convertMilesToKilometers();
    }
}

答案 2 :(得分:0)

看起来你肯定对我来说是正确的。我认为您需要使用setKilometres()setMiles()方法,这些方法会在kilometres中设置milesDistanceConversion字段。

完成上述操作后,您会发现convert...方法可以为您提供正确的结果。

答案 3 :(得分:0)

您可以编写一个构造函数,该构造函数接收您想要转换为参数的里程数。例如:

public DistanceConversion(double milesToConvert){

    miles = milesToConvert;
    kilometres = 0;
}

接下来,在main()中,创建一个DistanceConversion的新实例:

DistanceConversion myConverter = new DistanceConversion(99);

之后,通过System.out.println方法调用转换方法并显示转换结果。

myConverter.convertMilesToKilometers();
System.out.println("In kilometers: " + myConverter.getKilometers());