자바 반복문 질문합니다.

조회수 629회
import java.util.Scanner; //스캐너 삽입 위해 외부 클래스 호출

public class money {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String input;
        Scanner sc = new Scanner(System.in); //스캐너    
        int [] unit = {50000,10000,5000,1000,500,100,50,10,1}; //환산할 돈의 종류
        int money; //money변수

        System.out.printf("금액을  입력하세요 : ");
        money = sc.nextInt(); // 금액(정수)을 입력받음

        for(int i=0; i<unit.length; i++) {
            System.out.printf("%d원 : %d개 ,",unit[i],money/unit[i]);
            money= money - (money/unit[i])*unit[i];//남은돈 = 전체돈- (이전계산전의 돈/현재 i의 몫)*\
            {System.out.println("게속 진행하시겠습니까? : ");
            input = sc.next();

            if(input.equalsIgnoreCase("q"))
                break;
            else
                continue;}
        }

        sc.close();
    }

}

eclipse로 실행하였을때

금액을  입력하세요 : 12345676
50000원 : 246개 ,게속 진행하시겠습니까? : 
1
10000원 : 4개 ,게속 진행하시겠습니까? : 
2
5000원 : 1개 ,게속 진행하시겠습니까? : 
3

이런식으로 나오는데 저는

금액을 입력하세요: 
123456
50000원 : 2개 , 10000원 : 2개 , 5000원: 0개 , 1000원 : 3개 , (생략)
계속하시겠습니까? :
q
종료 하였습니다.

이런 식으로 만들고 싶습니다. 어떻게 수정해야 할까요? ㅠㅠ

1 답변

  • 계속 진행 여부를 매 루프마다 묻게 하지 말고, 천원 단위까지만 루프를 반복하도록 고쳐보세요:

    for (int i=0; i<unit.length; i++) {
        System.out.printf("%d원 : %d개 ,",unit[i],money/unit[i]);
        money= money - (money/unit[i])*unit[i];//남은돈 = 전체돈- (이전계산전의 돈/현재 i의 몫)*\
    
        if (천원_단위를_출력한_루프인지) {
            System.out.println("게속 진행하시겠습니까? : ");
            input = sc.next();
            if (input.equalsIgnoreCase("q")) {
                break;
            }
        }
    }
    

    숙제 같아서 힌트만 드렸습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)