Deve.haeri

[Java/연습문제] 10000만원 모두 쓰기 본문

Quiz/03.control

[Java/연습문제] 10000만원 모두 쓰기

hhaeri 2020. 10. 11. 01:31

1. 문제 설명

 - 10000만원을 모두 쓰도록한다. 

 

2. 소스코드

package ex04_loop_quiz;

import java.util.Scanner;

public class Quiz12 {

	public static void main(String[] args) {
		//문제.10000원 모두 쓰기
		// 사용할 금액을 입력 받아서 10000원에서 공제
		// 현재 10000원 있습니다.
		// 결제금액 >>> 5000원
		// 현재 5000원 있습니다.
		// 결제 금액 >>>10000원 5000원이 부족하니다.
		// 다 쓰면 현재 0원 있씁니다. 종료
		
		
		Scanner sc = new Scanner(System.in);
		
		int money = 10000; // 평가 때는 결제 금액이 난수로 출제 됨
		
		while (true) {
			System.out.println("현재" + money + "원 있습니다.");
			
			if(money ==0) {
				break;
			}
			
			
			System.out.print("결제금액 >>>");
			int spend = sc.nextInt();
			
			
			if(spend <=0 ) {
				System.out.println("0 이하의 돈은 사용할 수 없습니다.");
				continue;
			}else if (spend > money) {
				System.out.println((spend - money) + "원 부족합니다.");
				continue;				
			} else {
				money -= spend;
			}
		}

	}

}

3. 문제 해결 방법

 1) 현재 돈이 0원이 아니면 계속 실행 되는 무한루프를 작성한다.

 2) 현재 돈이 0원이 되면 break에 의해 반복문이 종료된다.

 3) 결제 금액을 spend에 저장한다. spend가 0보다 작으면 입력을 다시 받는다.

  (continue가 조건문 시작으로 다시 보내 입력을 다시 받게 된다.)

 4) 결제 금액이 현재 돈보다 많으면 (spend > money) 입력을 다시 받는다.

 5) 위 두조건이 아니면 현재 돈에서 결제 금액을 뺀다.

 

4. 결과

Comments