728x90
이 문제는 나를 많이 생각하게 만들어준 문제이다.
public class Q10_1 {
public static void main(String[] args) {
//4x4배열선언
int arr1[][] = new int[4][4];
//1~10까지 값을 랜덤하게 배열에 넣기
for(int i=0; i<4; i++) {
for(int j=0; j<4; j++) {
int P = (int)(Math.random()*10+1);
arr1[i][j] = P;
}
}
//저장된 배열에 0을 6개 랜덤하게 넣기
for(int x=0; x<6; x++) {
int n = (int)(Math.random()*4);
int m = (int)(Math.random()*4);
if(arr1[n][m] == 0) { //만일 이미 값이 0이였다면
x--; //반복횟수를 차감하여 한번 더 코드실행
}else {
arr1[n][m] = 0; //좌표가 랜덤생성된 값으로 0으로 만듬(이 코드가 if문 보다 앞에 있으면 0이되어 걸려버림)
}
}
//배열대로 출력하기
for(int i=0; i<4; i++) {
for(int j=0; j<4; j++) {
System.out.print(arr1[i][j]+"\t");
}
System.out.println();
}
}
}
728x90
'프로그래밍 > JAVA' 카테고리의 다른 글
다시 한번 생각해보기 - 기초 프로그램 (0) | 2022.12.25 |
---|---|
다시 한번 생각해보기 - 기초편 (0) | 2022.12.25 |
항상 사용하는 배열 순서대로 출력하기 (0) | 2022.12.08 |
4x4배열 랜덤값 10개만 바꾸기( X ) (0) | 2022.12.08 |
액수 입력 받아 금액 변환 - 명품자바 3장 6번 (0) | 2022.12.08 |