2017-10-20 17 views
-2

私は与えられた距離を運転する車を記述するJavaのプロジェクトに取り組んでいます。関数ドライブには、移動距離、x比、y比の3つのパラメータがあります。 、一緒に、方向を指定する整数として移動する 所望の距離を取る必要があり距離と比率を指定してX座標とY座標を更新しますか?

ドライブ(INT距離、ダブルxRatio、ダブルyRatio)、および2つの二重値 :ここ 機能の説明であります水平方向と水平方向との比率として、 とする。たとえば、xRatio = 1およびyRatio = 2の場合、 の右側(正のx)ごとに、車は2単位 (正のy)を移動します。 xRatioおよびyRatioの負の値は、それぞれ左に移動する に対応します。距離と方向が与えられた場合、 このメソッドは、終了座標 (整数に切り捨てられます)を正しく計算する必要があります。また、使用燃料の量を正確に引き算する必要があります( )。指定された距離が車が現在持っている燃料の量の より大きい必要がある場合、車は として空になるまで移動し、コンソールにこのテキストを印刷します。 "xマイルを走行した後にガスがなくなります" (正しい値はxの代わりに である)。このメソッドは実際に駆動されたマイル数 を返します。ここで

私がこれまでドライブ機能を持っているものです。

public double drive(int distance, double xRatio, double yRatio) 
    { 
     double a = xRatio; 
     double b = yRatio; 
     double r = 0; 

     r = (a*a) + (b*b); 
     r = Math.sqrt(r); 

     double finalX = (xRatio * distance)/r; 
     double finalY = (yRatio * distance)/r; 

     return 0; 

    } 

は、私は車の最後の座標を持っているが、私はガスが更新される方法を作業を開始するかどうかはわかりませんガスがなくなったら車の走行と停止方法を教えてください。これについての助けに感謝します。

+0

を駆動できるようになることを左のマイルを表す変数である、これは数学の質問やプログラミングの質問ですか? – shmosel

+0

なぜあなたは0を返していますか? –

+0

私はそう思います。私が見つけたいと思っていることの1つは、xRatio、yRatio、および距離を使用して終了座標を取得する正しい数学的方法です。私は今、私が今あることは正しい方法だと信じていますが、そうでない場合は私は知りたいと思います。 今すぐプレースホルダとして0を返しています。私は実際の距離がまだ移動していないことを知っています。これはメソッドが返すべきものです。 – CooperHudnall

答えて

0

gasRemainingは、ガスが、あなたが

public double drive(int distance, double xRatio, double yRatio) 
{ 
    double a = xRatio; 
    double b = yRatio; 
    double r = 0; 

    r = (a*a) + (b*b); 
    r = Math.sqrt(r); 

if (distance > gasRemaining){ 
    system.out.println("Ran out of gas after driving " + gasRemaining + " miles"); 


    double finalX = (xRatio * gasRemaining)/r; 
    double finalY = (yRatio * gasRemaining)/r; 

    gasRemaining = 0; 

    return 0; 
} 

else { 
    double finalX = (xRatio * distance)/r; 
    double finalY = (yRatio * distance)/r; 

    gasRemaining = gasRemaining - distance; 

    return 0; 
} 
} 
関連する問題