私は公共交通機関カードを作成しています。私は3つの関連するメソッドを定義する際にあなたの助けをしたいと思います。それが正常に最後の120分以内で確認した、と最後の成功しチェックイン以降、チェックアウトされていない時間と距離の差を計算する方法
isCheckedIn(long time)
復帰するかどうか。
- xおよびyは新しい旅にチェックした場合、現在位置
- あるパラメータは、メッセージれる
checkIn(int x, int y, long time)
: "Inをチェック"。
- すでにチェックインされている場合は、現在のメッセージを続行する場合は、メッセージ「継続する旅」を選択します。
- 少なくとも120分ごとにチェックインする限り、永遠に旅行を続けることができます。
チェックアウト(int型のx、int型のY、長い時間)
:
- 現在の旅を終了し、式12 +を用いて、残高から全体旅の料金を差し引きます(maxX - minX + maxY - minY)* 3ここで、maxとminはcheckInsとcheckOutのすべての座標を取る。
例メッセージ:;
:"チェックアウトすることはできません現時点では確認されていないエラー" "チェックアウトされた価格は$ 2、残りの残高は$ 98の!"
これまでに行ったこと:
import java.time.Instant; import java.time.temporal.ChronoUnit; public class TravelCard { //Card balance private int balance; // isCheckedIn private boolean isCheckedIn; private Instant instant; // distant x,y private int x; private int y; public TravelCard() { balance = 100; isCheckedIn = false; } public void depositMoney(int amount) { if (amount >= 0) { balance += amount; System.out.println(amount + " dollars deposited. New balance: " + balance + " dollars"); } else { System.out.println("Error: Cannot deposit negative amount"); } } public boolean isCheckedIn(long time) { Instant instant1 = Instant.now(); time = ChronoUnit.MINUTES.between(instant, instant1); // time if (isCheckedIn && time <= 120) return true; else return false; } public void checkIn(int x, int y, long time) { this.x = x; this.y = y; if (time == 0) { System.out.println("Checked in"); } else if (time <= 120) { System.out.println("Continued journey"); } } public void checkOut(int x, int y, long time) { } public static void main(String[] args) { } }
メッセージを印刷するメソッドを除いて、私はcheckOutメソッドで完全に失われました。誰もこの問題を解決するために私を助けてもらえますか?事前に多くの感謝!
[なぜ誰かが私を助けることができますか?実際の質問ではありませんか?](http://meta.stackoverflow.com/q/284236) – lexicore