콘텐츠로 이동

Java 직접 코딩 문제: Unit 1.8 Documentation with Comments and Preconditions

이름: ____________

  • 각 문제는 직접 Java 코드를 작성하는 문제입니다.
  • 별도 지시가 없으면 파일 이름은 Main.java, 클래스 이름은 Main으로 작성하세요.
  • 입력이 필요한 문제는 Scanner를 사용하세요.
  • 실행 예시는 출력 형식을 보여 주기 위한 예시입니다.

문제 1. 켈빈 변환 메서드 문서화

public static double toKelvin(double celsius) 메서드를 작성하세요. 메서드 위에 Javadoc 주석으로 @param, @return, precondition, postcondition을 포함하세요.

조건

  • Precondition: celsius >= -273.15
  • returnValue: celsius + 273.15
  • main에서는 25.0을 변수에 저장하고 메서드를 호출한다.

실행 예시

Celsius: 25.0
Kelvin: 298.15

문제 2. 센트 단위 잔액

잔액을 원 단위 double이 아니라 센트 단위 int로 저장하는 프로그램을 작성하세요. 왜 센트 단위를 사용하는지 설명하는 유용한 한 줄 주석을 포함하세요.

조건

  • initialBalance: 1250 cents
  • depositAmount: 375 cents
  • 출력은 최종 센트 잔액

실행 예시

Balance in cents: 1625

문제 3. 하루 페이지 수 메서드

public static int pagesPerDay(int pages, int days) 메서드를 작성하세요. 메서드 위에 precondition과 postcondition을 주석으로 작성하고, 정수 나눗셈으로 하루 페이지 수를 반환하세요.

조건

  • Precondition: pages >= 0, days > 0
  • main에서 pages = 125, days = 6으로 호출

실행 예시

Pages per day: 20

문제 4. 직사각형 넓이 계약

public static double rectangleArea(double width, double height) 메서드를 작성하세요. Javadoc에 두 매개변수, 반환값, precondition, postcondition을 포함하세요.

조건

  • Precondition: width >= 0, height >= 0
  • returnValue: width * height
  • main에서는 width = 4.0, height = 6.0으로 호출한다.

실행 예시

Area: 24.0

문제 5. 약한 주석 개선하기

아래 의도를 반영하여 직접 프로그램을 작성하세요. 코드에는 계산 이유를 설명하는 유용한 주석이 하나 이상 있어야 합니다.

의도

  • 분 단위 입력값 137을 시간과 남은 분으로 바꾼다.
  • hoursminutes를 출력한다.

실행 예시

Hours: 2
Minutes: 17