-2
import java.util.Scanner;
public class LKM {
public static void main(String[] args){
    Scanner keyboard=new Scanner(System.in);
     String startKm=keyboard.nextLine();
     String endKm=keyboard.nextLine();
     String liters=keyboard.nextLine();
}
    public void Car (double startOdo, double endOdo, double liters){
    startKm=startOdo;
    endKm=endOdo;
    liters=liters;
}
public static void LKM(String args[]){
   calculateLKM red=new Car(1,20,10);
   Car white=new Car(5,10,5);
   System.out.println((red.endKm-red.startKm)/red.liters);
   System.out.println((white.endKm-white.startKm)/white.liters);
}
}

我必须定义一个使用一个构造函数和一个方法计算汽车油耗的类。我尝试学习类和对象,但效果不佳..我只需要一些提示。谢谢你。

4

1 回答 1

0

我认为您混淆了方法和构造函数。当您执行“New Car()”时,您尝试调用 Car Construstor。所以要做到这一点,你需要一个里面有一个构造函数的类“汽车”。

创建一个名为“Car.java”的新文件并将此代码插入其中:

public class Car {
    public Car(double startOdo, double endOdo, double liters){
      this.startOdo = startOdo;
      this.endOdo = endOdo;
      this.liters = liters;
    }
}

但如果你不想这样做:

startKm=startOdo;
endKm=endOdo;
liters=liters;

您需要汽车类中的字段。因此,在您的 Car 类中添加 startKm、endOdo、liters 作为字段:

private double startOdo;
private double endOdo;
private double liters;

然后添加一些 getter 和 setter 来访问您的字段:

    public double getStartOdo() {
        return startOdo;
    }
    public void setStartOdo(double startOdo) {
        this.startOdo = startOdo;
    }
    public double getEndOdo() {
        return endOdo;
    }
    public void setEndOdo(double endOdo) {
        this.endOdo = endOdo;
    }
    public double getLiters() {
        return liters;
    }
    public void setLiters(double liters) {
        this.liters = liters;
    }

这会给你这样的东西:

public class Car {
    private double startOdo;
    private double endOdo;
    private double liters;
    public double getStartOdo() {
        return startOdo;
    }
    public void setStartOdo(double startOdo) {
        this.startOdo = startOdo;
    }
    public double getEndOdo() {
        return endOdo;
    }
    public void setEndOdo(double endOdo) {
        this.endOdo = endOdo;
    }
    public double getLiters() {
        return liters;
    }
    public void setLiters(double liters) {
        this.liters = liters;
    }
    public Car(double startOdo, double endOdo, double liters){
      this.startOdo=startOdo;
      this.endOdo=endOdo;
      this.liters=liters;
    }
}

最后,您将能够在主文件中执行您想要的操作。您只需调用“getStartOdo()”、“getEndOdo()”和“getLiters()”来检索您的数据并使用 System.out.println() 方法显示它。

哦,别忘了在你的 Main 方法中调用你的“LKM”方法,否则什么都不会发生。

于 2016-11-21T10:59:48.447 回答