2016-11-21 18 views
-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); 
} 
} 

車の燃料消費量を計算するクラスを1つのコンストラクタと1つのメソッドを使って計算するクラスを定義する必要があります。私はクラスとオブジェクトを学習しようとしましたが、うまくいきませんでした。ちょっとしたヒントが必要です。ありがとうございました。燃料消費量クラスjava

+2

[基本チュートリアル](https://docs.oracle.com/javase/tutorial/getStarted/index.html)と[java language tuorials]を実行することをお勧めします。 https://docs.oracle.com/javase/tutorial/java/index.html)、特に[クラスとオブジェクト](https://docs.oracle.com/javase/tutorial/java/javaOO/)を扱うものindex.html) – SomeJavaGuy

+0

どこに 'Car'クラスがあるのですか、コード全体が表示されない場合、正しい方向にあなたを運転することはできません。 –

+2

No Carクラス。 Carコンストラクタの不正な表記法。貧弱なカプセル化;コードを読むことができません。 – duffymo

答えて

0

私はあなたが方法とコンストラクターを混同していると思います。 "New Car()"を実行すると、Car Construstorを呼び出そうとします。 これを行うには、内部にコンストラクタを持つクラス "Car"が必要です。

「Car.java」という名前の新しいファイルを作成し、内部にこのコードを挿入します。

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

をしかし、あなたがするwan't場合:

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

あなたの車クラス内のフィールドを必要とします。

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; 
    } 

これはあなたにこのような何かを与えるだろうだからあなたの車のクラスのフィールドとしてリットル、startKm、endOdoを追加

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; 
    } 
} 

最後に、メインファイルに必要な操作を行うことができます。データを取得してSystem.out.println()メソッドで表示するには、「getStartOdo()」、「getEndOdo()」および「getLiters()」を呼び出すだけです。

ああ、Mainメソッドで "LKM"メソッドを呼び出すことを忘れないでください。そうしないと何も起こりません。

+0

ありがとうございました:D。私は自分でjavaを学び始めました。私の主なプログラミング言語はC++です。素敵な一日を! –

+0

これはあなたを助けましたか?もしそうなら、解決済みとしてマークしてください:) – Morgan

関連する問題