我越来越困惑自己,我没有人问这个问题。我独自在家,为考试而学习,并且已经开始了一段时间。我是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();
}
}
答案 0 :(得分:1)
没有。
是一种主要方法您不需要任何构造函数或字段来执行此操作。一切都应该在主要方法中。
旁注:这个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
中设置miles
和DistanceConversion
字段。
完成上述操作后,您会发现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());