목차
1. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 1(윤년 계산기)
2. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 2(주사위 게임)
3. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 3(배수 판별기)
4. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 4(청구 금액 계산기)
5. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 5(다독왕)
6. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 6(피보나치 수)
7. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 7(출입증)
8. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 8(방정식)
9. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 9(숫자 맞추기 게임)
10. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 10(만원의 행복)
11. 2024.01.08 - [BackEnd/Java] - [JAVA] 조건문, 반복문을 이용한 문제 풀이 11(은행)
자바의 조건문, 반복문을 이용한 문제 풀이를 진행해보겠습니다~
문제 10) 만원의 행복
만원에서 시작하여, 사용할 액수를 입력받고 돈을 사용할 때마다 해당 금액만큼 차감 후
"현재 가진 돈은 000원 입니다."를 출력한다.
해당 과정을 반복하여 돈을 남김없이 사용한 경우
"모든 돈을 사용하였습니다. . . 종료"를 출력하며 종료되는 프로그램을 작성하시오.
단, 금액은 반드시 정수만 입력받으며, 현재 가진 돈보다 크거나 0 혹은 음수를 입력 시 다시 입력을 요구하여야 한다. 또한, 잔액을 출력할 경우 반드시 세자리 수 마다 콤마(,)로 구분하여 출력한다. (예. 9,999원)
조건) 콘솔에 출력 시 printf만을 사용할 것
👉 출력방법
1. 현재 가진 돈은 10,000원 입니다.
2. 얼마를 사용하시겠습니까? → [숫자 입력]
3. (사용 범위를 벗어날 경우) 다시 입력해주세요, 사용 범위가 틀렸습니다.
4. 얼마를 사용하시겠습니까? → [숫자 입력]
5. (정상적인 값을 입력한 경우) 현재 가진 돈은 xx,000원 입니다.
6. 얼마를 사용하시겠습니까? → [숫자 입력]
7. (반복)
8. (모든 돈을 사용한 경우) 모든 돈을 사용하였습니다(종료)
👉 문제 풀이를 위한 Flow Chart
👉 문제 해답 코드
import java.util.Scanner; public class Manwon { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int nowMoney = 10000; while(nowMoney > 0) { System.out.printf("현재 가진 돈은 %,d원 입니다.\n", nowMoney); System.out.print("얼마를 사용하시겠습니까? "); int input = sc.nextInt(); nowMoney -= input; if(nowMoney <= 0) { System.out.println("모든 돈을 사용하였습니다."); break; } }; sc.close(); } }
👉 코드 해설
1. 입력을 위한 java.util의 Scanner 클래스를 가져온다.
2. 인스턴스 생성 후 변수 nowMoney를 지정한 후 10,000을 저장한다.
3. 조건식을 통해 nowMoney가 0보다 큰지 확인한다.
3-1) 참이라면, 현재 가진 돈을 출력하고 사용 금액을 뺀다.
3-2) 거짓이라면, 반복문을 벗어난다.
4. nowMoney가 0보다 작거나 같은지 확인한다.
4-1) 참이라면, 모든 돈을 사용하였다는 말과 함께 반복문을 벗어난다.
4-2) 거짓이라면, 반복문을 계속 실행한다.
문제 풀이 시 while문을 이용해 짧게 코드를 구현할 수 있습니다.
제가 생각하기에는 조건문을 활용하여 풀 수 있는 방법 중 최적의 방법이라고 생각합니다.
혹시나 코드를 보고 좀 더 간단하게 풀이하실 수 있는 분들은 답글 부탁드려요!!!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
'BackEnd > Java' 카테고리의 다른 글
[java] Set, HashSet 정렬(순서) 방법 (0) | 2024.06.19 |
---|---|
[JAVA] 조건문, 반복문을 이용한 문제 풀이 11(은행) (2) | 2024.01.09 |
[JAVA] 조건문, 반복문을 이용한 문제 풀이 9(숫자 맞추기 게임) (0) | 2024.01.08 |
[JAVA] 조건문, 반복문을 이용한 문제 풀이 8(방정식) (1) | 2024.01.08 |
[JAVA] 조건문, 반복문을 이용한 문제 풀이 7(출입증) (0) | 2024.01.08 |