# Language/Java

명품 JAVA 프로그래밍 3장 8번

명품 자바 Programming 
Chapter3 Ex8

Q :




4 X 4 의 2차원 배열을 만들고 이곳에 1에서 10까지 범위의 정수를 8개만 랜덤하게 생성하여 임의의 위치에 삽입하라. 동일한 수가 나올 수도 있다. 나머지 8개의 숫자는 모두 0이다. 즉, 2차원 배열에는 항상 8개의 정수가 랜덤한 위치에 있도록 하라. 그리고 이 2차원 배열을 화면에 출력하라.








Solution







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
package chap3ex;
 
public class q8 {
 
    public static void main(String[] args) {
        int num[][] = new int[4][4];
        int loc1 = 0, loc2 = 0;
        for(int i = 0; i<4; i++){
            for(int j = 0; j<4; j++){
                num[i][j] = 0;
            }
        }
        for(int i =0; i<8; i++){
            loc1 = (int)Math.round(Math.random()*3);
            loc2 = (int)Math.round(Math.random()*3);
            num[loc1][loc2] = (int)Math.round(Math.random()*9 +1);
        }
        
        for(int i = 0; i<4; i++){
            for(int j = 0; j<4; j++){
                System.out.print(num[i][j] + " ");
            }
            System.out.println();
        }
    }
}
 
cs









Key Point






모든 배열을 0으로 초기화하고 시작한다면 8번의 난수 생성 후에

나머지 8개의 숫자를 0으로 바꿀 수요가 없어진다. 








유용하셨다면 공감 버튼 ↓ 눌러주세요! 


728x90