본문 바로가기
Java

[Java] 명품 자바프로그래밍 제 3장 실습문제 8번

by graygreat 2017. 4. 26.
728x90
반응형


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


import java.util.*;

public class random_num2 {
    public static void main(String args[]) {
        int arr[][] = new int[4][4];

        int k = 0;
        while (k < 8) {
            int r = (int) Math.round(Math.random() * 3);
            int c = (int) Math.round(Math.random() * 3);

            if (arr[r][c] == 0) {
                arr[r][c] = (int) Math.round(Math.random() * 9 + 1);
                k++;
            }
        }

        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 4; j++) 
                System.out.print(arr[i][j]+ " ");
            System.out.println();
        }
    }
}



반응형

댓글