4 x 4의 2차원 배열을 만들고 이곳에 1에서 16까지 범위의 정수를 중복 없이 랜덤하게 생성하여 정수 16개를 배열에 저장하고, 2차원 배열을 화면에 출력하라.



package grade;

import java.util.Scanner;

public class Lambda {
	public static void main(String[] args) {
		new Byul();
	}
}

class Byul {
	private Scanner sc;

	Byul() {
		this.main();
		sc.close();
	}

	private void main() {

		int[] r = new int[16];

		for (int i = 0; i < 16; i++) {
			r[i] = (int) (Math.random() * 16) + 1;
			for (int j = 0; j < i; j++) {
				if (r[i] == r[j]) {
					i--;
				}
			}
		}

		StringBuilder sb = new StringBuilder();

		for (int i = 0; i < 16; i++) {
			sb.append((i != 15) ? r[i] + " " : r[i]);
		}

		String source = sb.toString();
		this.sc = new Scanner(source);
		sb.setLength(0);

		int[][] t = new int[4][4];

		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				t[i][j] = sc.nextInt();
			}
		}

		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				sb.append(t[i][j]);

				sb.append((j != 3) ? "\t" : "\n");
			}
		}

		System.out.println(sb);
	}
}

댓글

이 블로그의 인기 게시물

substring 예제: 문자열을 입력 받아 한 글자씩 회전시켜 모두 출력하는 프로그램을 작성하라

배열, 리스트, 해쉬셋 연습 : 1 부터 45 까지 중복하지 않는 숫자 6개 생성하는 프로그램

다형성 추가정리, instanceof