콘텐츠로 이동

미니 프로젝트 세트 1: 운동 챌린지 추적기

이름: ________

시간: 30분

한 사람의 주간 운동 목표 진행 상황을 추적하는 작은 Java 프로그램을 만드세요. 아래 FitnessChallenge 클래스를 완성한 뒤 Main을 실행하여 테스트하세요.

학습 목표

  • 생성자에서 인스턴스 변수를 초기화한다.
  • void 메서드로 객체의 상태를 변경한다.
  • 조건문을 사용하여 유효하지 않은 입력을 거른다.
  • 인스턴스 메서드에서 int, boolean, String 값을 반환한다.

프로그램 규칙

  • 생성자는 참가자 이름과 주간 걸음 수 목표를 받는다. stepsTaken0으로 설정한다.
  • addSteps(int steps)는 양수만 더한다. 0과 음수는 무시한다.
  • recordWorkout()workoutsCompleted1 증가시킨다.
  • stepsRemaining()은 목표를 달성했을 때 0을 반환하고, 그렇지 않으면 남은 걸음 수를 반환한다.
  • goalReached()stepsTakenweeklyStepGoal 이상이고 운동을 3회 이상 완료했을 때만 true를 반환한다.
  • getSummary()는 다음과 같은 형식의 문장을 반환해야 한다. Mina: 8500 / 8000 steps, 3 workouts
  • 메서드 헤더와 Main의 코드는 변경하지 않는다.

뼈대 코드

class FitnessChallenge {
    private String participantName;
    private int weeklyStepGoal;
    private int stepsTaken;
    private int workoutsCompleted;

    public FitnessChallenge(String participantName, int weeklyStepGoal) {
        // TODO
    }

    public void addSteps(int steps) {
        // TODO
    }

    public void recordWorkout() {
        // TODO
    }

    public int stepsRemaining() {
        // TODO
        return 0;
    }

    public boolean goalReached() {
        // TODO
        return false;
    }

    public String getSummary() {
        // TODO
        return "";
    }
}

public class Main {
    public static void main(String[] args) {
        FitnessChallenge challenge = new FitnessChallenge("Mina", 8000);

        challenge.addSteps(3200);
        challenge.addSteps(-100); // 이 값은 무시되어야 합니다.
        challenge.addSteps(5300);
        challenge.recordWorkout();
        challenge.recordWorkout();
        challenge.recordWorkout();

        System.out.println(challenge.stepsRemaining());
        System.out.println(challenge.goalReached());
        System.out.println(challenge.getSummary());
    }
}

예상 출력

0
true
Mina: 8500 / 8000 steps, 3 workouts

제출 전 확인

  • 생성자에서 this.participantNamethis.weeklyStepGoal을 사용한다.
  • 유효하지 않은 걸음 수가 stepsTaken을 바꾸지 않는지 확인한다.
  • 두 조건이 모두 충족되어야 하므로 goalReached()에서 &&를 사용한다.