미니 프로젝트 세트 1: 운동 챌린지 추적기¶
이름: ________
시간: 30분
한 사람의 주간 운동 목표 진행 상황을 추적하는 작은 Java 프로그램을 만드세요. 아래 FitnessChallenge 클래스를 완성한 뒤 Main을 실행하여 테스트하세요.
학습 목표¶
- 생성자에서 인스턴스 변수를 초기화한다.
void메서드로 객체의 상태를 변경한다.- 조건문을 사용하여 유효하지 않은 입력을 거른다.
- 인스턴스 메서드에서
int,boolean,String값을 반환한다.
프로그램 규칙¶
- 생성자는 참가자 이름과 주간 걸음 수 목표를 받는다.
stepsTaken은0으로 설정한다. addSteps(int steps)는 양수만 더한다.0과 음수는 무시한다.recordWorkout()은workoutsCompleted를1증가시킨다.stepsRemaining()은 목표를 달성했을 때0을 반환하고, 그렇지 않으면 남은 걸음 수를 반환한다.goalReached()는stepsTaken이weeklyStepGoal이상이고 운동을 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.participantName과this.weeklyStepGoal을 사용한다. - 유효하지 않은 걸음 수가
stepsTaken을 바꾸지 않는지 확인한다. - 두 조건이 모두 충족되어야 하므로
goalReached()에서&&를 사용한다.