예외 없이 시간 바꾸기

실세계의 시계

Clamp

// 범위를 제한하는 clamp 함수
private byte clamp(byte value, byte min, byte max) {
    return (byte) Math.min(Math.max(value, min), max);
}

위와 같이 헬퍼 함수로 빼는게 좋음

  • max, min에서 실수하기 쉬움
    • 실수할 가능성을 낮추 코드가 유지보수하기 좋은 코드

아날로그 시계는 Clamp로 돌지 않음

Wrap

최소값과 최대값이 연결됨

  • 오버플로우와 유사

hours의 범위는 [1, 23]

  • 1을 빼고 나머지 연산하고 나중에 1을 더하는 방식

0건의 항목