⭐ 정수형 변수 money에 10~5000사이의 난수를 발생시켜 넣는다. 단, 1의자리 숫자는 반드시 0이어야 한다.
발생된 난수를 500,100,50,10원짜리 동전으로 바꾸면 각 동전이 몇개씩 필요한지 판단하는 코드 작성하기
내가 작성한 코드
Random rnd = new Random();
int money = rnd.nextInt((500) + 1) * 10;
System.out.println("금액 입력 : "+ money + "원");
int[] coin = { 500, 100, 50, 10 };
for (int i = 0; i <coin.length; i++) {
int result = money / coin[i];
System.out.printf("%d원 : %d개\n", coin[i], result);
}
결과
고민
내가 원한 결과는 500원 8개, 100원 3개 ... 이렇게 총 합이 4380원이 나와야되는데 각 동전마다 따로 나왔다.
for반복문을 돌 때 금액 변동이 없어서다.
그럼 처음 500원을 출력하고 i++로 돌아갈때 money 금액이 바뀌어야하고
money는 앞서 출력한 동전으로 나눈 나머지여야 한다.
새로 작성한 코드
Random rnd = new Random();
int money = rnd.nextInt((500) + 1) * 10;
System.out.println("금액 입력 : "+ money + "원");
int[] coin = { 500, 100, 50, 10 };
for (int i = 0; i <coin.length; i++) {
int result = money / coin[i];
System.out.printf("%d원 : %d개\n", coin[i], result);
money %= coin[i]; //추가
}
결과
숫자가 랜덤이라 위와 같진 않지만 원하는대로 결과가 출력되었다!
[JAVA] 배열
배열 : 같은 자료형의 변수들로 이루어진 유한집합으로 효율적인 데이터 관리가 가능하다. 정수형 배열의 선언과 생성 자료형 [ ] 배열명 = new 자료형 [길이]; //new는 공간을 할당해주는 역할 int [
studywithjw.tistory.com
'JAVA > 오류고민' 카테고리의 다른 글
[List,Set 컬렉션] 랜덤 숫자 빙고판을 만들자 (0) | 2023.09.02 |
---|---|
[메서드] 숫자맞추기 게임 (0) | 2023.08.31 |
[String 클래스] 앞으로 읽어도 뒤로 읽어도 (0) | 2023.08.22 |
[배열] 로또 번호를 정해보자 (0) | 2023.08.20 |
오류고민 카테고리 (0) | 2023.08.19 |