연습 문제
[시나리오] 영화관 포인트 적립 시스템
- 사용자가 영화를 여러 편 볼 때마다 관람 가격을 입력한다.
- 영화
1편 관람 시 결제 금액의 7%가 포인트로 적립된다.
- 사용자가
-1을 입력하면 관람 입력을 종료하고, 총 결제 금액과 총 적립 포인트를 출력한다.
- 가격이 0 이하(단, -1 제외)인 경우는 잘못된 입력이며 다시 입력받는다.

그 명세서 같은 건 적다가 머리털 다 빠질 것 같아서 포기했습니다
[시나리오] 카페 포인트 적립 시스템
- 손님이 커피를 주문한다.
- 한 잔 가격은
4,000원이다.
- 같은 손님이 여러 잔을 주문할 수 있으며, 주문할 때마다 포인트가 적립된다.
- 포인트는 결제 금액의
5%가 적립된다.
- 손님이
0을 입력하면 주문을 종료하고, 총 결제 금액과 적립된 포인트를 출력한다.
[시나리오] 버스 요금 입력 프로그램
- 사용자에게 버스 요금을 입력받는다.
- 정상 요금 범위는
0 ~ 3000원이다.
- 이 범위를 벗어나면 “잘못된 요금입니다”를 출력하고 다시 입력받는다.
- 정상 범위의 요금이 들어오면 “요금 확인 완료”를 출력하고 종료한다.

[시나리오] 하루 동안 걸음 수 합산 프로그램
- 사용자가 만보기처럼 자신의 걸음 수를 계속 입력한다.
- 각 입력은 “이번 구간에서 걸은 걸음 수”이다.
- 0을 입력하면 입력을 종료하고 총 걸음 수를 출력한다.

[시나리오] 전자사전(단어 뜻 조회) 프로그램
메뉴를 출력한다.
1. 단어 등록
2. 단어 조회
0. 종료
사용자는 번호를 입력한다.
1번: 단어와 뜻을 등록한다.
2번: 단어를 입력하면 뜻을 출력한다.
0번: 프로그램 종료
- 그 외: “잘못된 메뉴입니다” 출력 후 다시 메뉴로
*간단 버전이므로 실제 저장은 생략
[시나리오] 간단 회원가입 + 로그인 시스템
- 회원가입 단계
- 사용자는 아이디, 비밀번호 입력
- 비밀번호는
8자 이상이어야 함
- 조건에 맞지 않으면 다시 입력
- 회원가입이 완료되면 로그인 단계로 이동
- 로그인 단계
- 아이디, 비밀번호 입력
- 최대 3회까지 틀릴 수 있음
- 3회 연속 실패 → "계정 잠김" 출력 후 종료
- 맞으면 → "로그인 성공" 출력

자바 발제 트러블 슈팅
-
연산이 그냥 넘어가던 이유: main 조건문이 /를 막아서 calculate가 호출되지 않았음.
-> try문에 calculate 호출을 안넣었음;;
-
예외를 제대로 잡으려면 calculate 호출을 try 밖에서 하지 말고 try 안에서 1번만 해야한다.
-
오류가 나도 계속 실행되게 하려면 catch에서 메시지 출력 후 continue로 while 처음으로 되돌리기.
-
catch 상황에서 값이 저장되던 문제는 실패를 0으로 반환하거나 성공/실패와 상관없이 저장해서 생겼고, 성공했을 때만 저장.