2016-04-30 14 views
0

私はこれがnoobの質問のようなものであると確信しているが、プログラム中で、私は変数は、私がしようとしていますので、私は十分に簡単である引数として変数を渡すためにしようとしていますが、私はこだわっているに取り組んでいます合格するには、その前に来る2つの引数の積です。Javaはどのように、引数2つの、他の引数の乗算積作るには?

Iは、車両所有者、車輪の数、及びリットルの変位の名前の引数を有する電動車両用オブジェクトを作成する必要はなく、記載及び最後の引数は、変位を乗算した結果であり、そして(馬力は実際にどのように計算されているかはわかりませんが)

"MotorizedVehicle"を定義するクラスには、次のコードがあります。

/* 


public class MotorizedVehicle extends Bicycle { 
    int litersDisplaced; 
    int horsepower = litersDisplaced * wheelCount; 




public MotorizedVehicle(String ownerName, int wheelCount, int litersDisplaced, int horsepower){ 
    this.ownerName = ownerName; 
    this.wheelCount = wheelCount; 
    this.litersDisplaced = litersDisplaced; 
    this.horsepower = horsepower; 

} 

    public int getLitersDisplaced() { 
     return litersDisplaced; 
    } 

    public void setLitersDisplaced(int litersDisplaced) { 
     this.litersDisplaced = litersDisplaced; 
    } 

    public int getHorsepower() { 
     return horsepower; 
    } 

    public void setHorsepower(int horsepower) { 
     this.horsepower = horsepower; 
    } 
} 

さて、私は次のコードを持っているクライアントクラスに:

/* 

package extracredit4; 

/** 
* 
* @author ChetSpalsky 
*/ 
public class VehicleClient { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    MotorizedVehicle car1 = new MotorizedVehicle("Bill", 2, 4, *); //Where I have the * this is where the argument for the "horsepower" variable or method should be, but I don't know what to put here to call the variable that will be litersDisplaced * wheelCount. 


} 

} 

明確にするために、私はちょうどその四番目の引数があるべき「8」を置くことができない、私が呼び出す必要がありますlitersDisplacedとwheelCountを掛け合わせるメソッド。

申し訳ありませんこれは経験豊富なプログラマーの方に向いていますが、私はすべてを見てきましたが、この質問に対する答えが見つからないようです。本当に助けに感謝します。ありがとうございました!

答えて

1

はちょうどあなたが完全に引数を取り除くことができますhorsepowerについてMotorizedVehicle car1 = new MotorizedVehicle("Bill", 2, 4, 2 * 4);

0

のように、* 4 2を入れました。このように見えるようにコンストラクタを変更します。

public MotorizedVehicle(String ownerName, int wheelCount, int litersDisplaced){ 
    this.ownerName = ownerName; 
    this.wheelCount = wheelCount; 
    this.litersDisplaced = litersDisplaced; 
    this.horsepower = this.litersDisplaced * this.wheelCount; 

} 
0

は、コンストラクタ内の乗算を実行します。

public MotorizedVehicle(String ownerName, int wheelCount, int litersDisplaced){ 
    this.ownerName = ownerName; 
    this.wheelCount = wheelCount; 
    this.litersDisplaced = litersDisplaced; 
    horsepower = wheelCount * litersDisplaced; 
} 
0

あなたは馬力の引数を省略し、getHorsePower()を呼び出すとき馬力値を計算する許可されていませんか?例えば、

public MotorizedVehicle(String ownerName, int wheelCount, int litersDisplaced){ 
    this.ownerName = ownerName; 
    this.wheelCount = wheelCount; 
    this.litersDisplaced = litersDisplaced; 
} 

public int getHorsepower() { 
    return wheelCount * litersDisplaced; 
} 

このアプローチについての素晴らしい事は、あなたがsetWheelCount()setLitersDisplaced()を呼び出す場合、getHorsePower()関数は常に正しい馬力値を返しますです。

setHorsepower()関数は計算された値であるため、削除することをお勧めします。

関連する問題