자바 반복문 질문합니다.
조회수 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; } } }
숙제 같아서 힌트만 드렸습니다.
댓글 입력