对main方法的误解/“ public static void main(String [] args)”的要点

时间:2018-06-20 16:17:58

标签: java constructor

我有一个任务,要编写一个带有构造函数的类以及将值返回给主类的各种方法。

我的代码由于错误而无法正确编译:找不到简单或非法的表达式开始。

我相信我从根本上误解了如何构造构造函数,主要方法究竟是什么以及一个类如何调用另一个类。

分配:

假设为您提供了以下Driver类,其中包括一个主要方法:

public class Driver {   
    public static void main(String[] args)   {
        double distance = 400.48;
        double fuel = 21.4;
        AutoTrip myTrip = new AutoTrip(distance, fuel);
        System.out.print("My car traveled " + myTrip.getDistance() + " miles");
        System.out.println("on " + myTrip.getFuel() + " gallons of gasoline.");
        double mileage = myTrip.getMPG(); // get miles per gallon
        System.out.println("My mileage was " + mileage + ".");  
    } 
}

*现在假设执行main产生以下输出: 我的车使用21.4加仑汽油行驶了400.48英里。

我的里程是18.714018691588787。

实现AutoTrip类,以便产生指示的输出。*

我的代码:

public class AutoTrip { 
    public AutoTrip(double distance, double fuel){
         this.distance = distance;
         this.fuel = fuel;
     }

     public double getDistance(){
         return distance;
     }

     public double getFuel(){
       return fuel;
     }

     public double getMPG(){
        return distance / fuel;
     }
}

1 个答案:

答案 0 :(得分:7)

您忘记在类AutoTrip中添加变量

public class AutoTrip {
    private double distance; // Missing var
    private double fuel; // Missing var

    public AutoTrip(double distance, double fuel) {
        this.distance = distance;
        this.fuel = fuel;
    }

    public double getDistance() {
        return distance;
    }

    public double getFuel() {
        return fuel;
    }

    public double getMPG() {
        return distance / fuel;
    }

}