반응형
실습문제
7. 4x4의 2차원 배열을 만들고, 이곳에 1에서 10까지 범위의 정수를 랜덤하게 생성하여 정수 16개를 배열에 저장하고, 2차원 배열을 화면에 출력하라.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 |
import java.util.Random;
public class Makingarray{
public static void main(String[] args) {
int [][] intArray = new int[4][4]; //배열 생성
for(int i=0; i<intArray.length; i++) { //column에 대한 반복
for(int j=0; j<intArray[i].length; j++) { //low에 대한 반복
intArray[i][j] = (int)Math.round(Math.random() * 9 + 1);
//1에서 10까지 범위의 정수를 랜덤하게 생성한다.
System.out.println(intArray[i][j] + " ");
}
System.out.println();
}
}
}
|
cs |
간단한 2차원 배열 생성과 원소 초기화, 배열 출력 문제이다.
11. 배열과 반복문을 이용하여 프로그램을 작성해보자. 키보드에서 정수로 된 돈의 액수를 입력받아 오만 원권, 만 원권, 천 원권, 500원짜리 동전, 100원짜리 동전, 50원짜리 동전, 10원짜리 동전, 1원짜리 동전이 각 몇 개로 변환되는지 출력하라.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
import java.util.Scanner;
public class ChangingMoney{
public static void main(String[] args) {
int[] unit = {50000, 10000, 1000, 500, 100, 50, 10, 1}; //배열 사용
Scanner input = new Scanner(System.in);
int money = input.nextInt(); //돈의 액수 입력받기는 반복 실행이 아니므로 for문 안에 들어가면 안된다.
for(int i = 0; i<unit.length; i++) {
int count = money/unit[i];
System.out.println(count + "개");
money = money - (count*unit[i]); //이미 환산된 돈은 잔액에서 빼주기.(돈이 중복으로 계산되면 안되므로)
} //반복문 끝.
}
}
|
cs |
이 때, 출력이 ~개, ~개, ~개 ,,,, 의 형태로 나열되기 때문에, 각 지폐/동전의 개수 매칭이 헷갈리지 않기 위하여 count = 0 일 때에도 출력을 해 주었다.
만약 count = 0일 경우에는 출력하지 않도록 하고 싶다면, 전체적인 System.out.println() 문과 함께 코드를 다음과 같이 수정해 주면 된다.
1
2 |
if(count != 0)
System.out.println(count + "개"); |
cs |
12. 반복문을 이용하여 369게임에서 박수를 쳐야 하는 경우의 수를 순서대로 화면에 출력해보자. 1부터 시작하여 99까지만 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 |
public class GameOf369{
public static void main(String[] args) {
int quo = 0; //초기화
int res = 0; //초기화
for(int i=1; i<=99; i++) {
res = i%10;
quo = i/10;
if((quo == 3) || (quo == 6) || (quo == 9)) { //십의 자리 수가 3, 6, 9인 경우
if((res == 3) || (res == 6) || (res == 9)) { //33, 66, 99에 대한 처리
System.out.println(i + " 박수 두번");
}
else System.out.println(i + " 박수 한번");
continue; //밑의 else if문이 수행되어, '박수한번'이 한 번 더 출력되는 것을 방지.
}
else if((res == 3) || (res == 6) || (res == 9)) { //일의 자리 수가 3, 6, 9인 경우
System.out.println(i + " 박수 한번");
}
else continue; //만약 이 모든 조건문에 부합하지 않는 수라면 건너뛰고 i++를 실행시켜주기.
}
}
}
|
cs |
이 때, 실행 결과는 이런 식으로 출력되어야 한다.
이미지에서 보여지는 바와 같이,
1) 30-39, 60-69, 90-99는 모두 박수 한번이 되어야 하고,
2) 이 중 33, 66, 99는 각각 3, 6, 9가 2번씩 포함되어 있으므로 박수 두번이 출력되어야 한다.
코드에 대한 설명은 각 코드 옆에 주석으로 달아놓았음.
반응형
'Programming > Java' 카테고리의 다른 글
명품 java programming 실습문제 : 인터페이스(3번), 추상클래스(6번) (2) | 2018.11.20 |
---|---|
명품 java programming open challenging : 상속 관계의 클래스 작성(ProductInfo) (0) | 2018.11.18 |
명품 java programming 실습문제: 계산프로그램, 공연 예약 시스템 (1) | 2018.11.15 |
명품 java programming open challenging : 끝말잇기 게임 만들기 (0) | 2018.11.07 |
명품 java programming open challenging : 카드 번호 맞추기 게임 (260) | 2018.09.27 |