나는 대중 교통 카드를 만들고 있습니다. 나는 세 가지 관련 방법을 정의하는 당신의 도움이 필요 :이 성공적으로 마지막 120분 내에서 확인되었고, 마지막으로 성공적인 체크인부터 체크 아웃되지 않은시간과 거리의 차이를 계산하는 방법
isCheckedIn(long time)
반환 여부를 지정합니다. "검사하여"
checkIn(int x, int y, long time)
- X 및 Y는 새로운 여정에 의하면, 메시지가있는 경우, 현재 위치
- 인 파라미터이다.
- 이미 체크인 한 경우 계속 진행 중이면 "계속 여행 중"이라고 표시됩니다.
- 최소 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