Java for문 라벨링
https://blog.naver.com/jin93hj/220630394881
선생님 블로그
https://blog.naver.com/wisejia/220787654547
\r
carriage return에 대하여~~
맨 앞으로 옮기기, 종이 한 줄 올리기
https://jw910911.tistory.com/90
package dec08;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
//3x3 배열 만들고 1~9까지 데이터를 랜덤하게 입력해주자.
public class MultiArray03 {
public static void main(String[] args) {
// int arr[][] = new int[3][3];
//
// // 1~9
// int numbers[] = new int[9];
//
// for (int i = 0; i < numbers.length; i++) {
//
// }
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
System.out.println(list); //[1, 2, 3, 4]
//삭제
list.remove(0);//index 위치에 값 지우기
System.out.println(list); //[2, 3, 4]
//뒤에 추가
list.add(1);
System.out.println(list); //[2, 3, 4, 1]
//자리 지정해서 추가하기
list.add(0, 0);//index, 값 = 해당 index에 값을 넣어줍니다.
System.out.println(list); //[0, 2, 3, 4, 1]
list.get(0);//해당 위치의 값을 가져옴.
System.out.println(list.get(0));
list.size();//해당 집합의 크기를 가져옴.
System.out.println(list.size());
list.set(0, 100);//0번 index의 값을 변경함.
System.out.println(list);
//3x3 배열 만들고 1~9까지 데이터를 랜덤하게 입력해주자.
System.out.println("============================");
int sam[][] = new int[3][3];
// 랜덤 숫자 뽑기
for (int i = 0; i < sam.length; i++) {
B:for (int j = 0; j < sam[i].length; j++) {
int temp = (int) (Math.random() * 9 + 1);
// 중복 검사 (A는 라벨 문법, 아님 continue로 해도 됨.)
A:for (int k = 0; k < sam.length; k++) {
for (int k2 = 0; k2 < sam[i].length; k2++) {
if(sam[k][k2] == temp && i !=0 && j == 0) {
// System.out.println(i + ":" + j + "중복발생 :" + temp);
j--; //j가 0일 때는
// break A;
continue B;
}
}
}
sam[i][j] = temp;
}
}
for (int[] is : sam) {
System.out.println(Arrays.toString(is));
}
System.out.println("=====================================");
// 바꿔서 해보기
// 1~9를 랜덤하게 뽑아서 배열에 저장.
int random[] = new int[9];
sam = new int[3][3];
//1 - 9 숫자 랜덤하게 만들기
A:for (int i = 0; i < random.length; i++) {
int temp2 = (int) (Math.random() * 9 + 1);
//중복검사
for (int j = 0; j < random.length; j++) {
if(random[j] == temp2) {
i--;
//여기 고치기.
continue A;
}
}
random[i] = temp2;
}
System.out.println(Arrays.toString(random));
}
}
package dec08;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
//3x3 배열 만들고 1~9까지 데이터를 랜덤하게 입력해주자.
public class MultiArray03 {
public static void main(String[] args) {
int arr[] = new int[5];
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
System.out.println(list); //[1, 2, 3, 4]
//삭제
list.remove(0);//index 위치에 값 지우기
System.out.println(list); //[2, 3, 4]
//뒤에 추가
list.add(1);
System.out.println(list); //[2, 3, 4, 1]
//자리 지정해서 추가하기
list.add(0, 0);//index, 값 = 해당 index에 값을 넣어줍니다.
System.out.println(list); //[0, 2, 3, 4, 1]
list.get(0);//해당 위치의 값을 가져옴.
System.out.println(list.get(0));
list.size();//해당 집합의 크기를 가져옴.
System.out.println(list.size());
list.set(0, 100);//0번 index의 값을 변경함.
System.out.println(list);
//3x3 배열 만들고 1~9까지 데이터를 랜덤하게 입력해주자.
//3가지 타입.
System.out.println("============================");
int sam[][] = new int[3][3];
// 랜덤 숫자 뽑기
for (int i = 0; i < sam.length; i++) {
B:for (int j = 0; j < sam[i].length; j++) {
int temp = (int) (Math.random() * 9 + 1);
// 중복 검사 (A는 라벨 문법, 아님 continue로 해도 됨.)
A:for (int k = 0; k < sam.length; k++) {
for (int k2 = 0; k2 < sam[i].length; k2++) {
if(sam[k][k2] == temp) {
// System.out.println(i + ":" + j + "중복발생 :" + temp);
j--; //j가 0일 때는
// break A;
continue B;
}
}
}
sam[i][j] = temp;
}
}
//출력
System.out.println("숫자 랜덤 : ");
for (int[] is : sam) {
System.out.println(Arrays.toString(is));
}
System.out.println("=====================================");
// 바꿔서 해보기
// 1~9를 랜덤하게 뽑아서 배열에 저장.
int random[] = new int[9]; //숫자 1~9까지 숫자를 랜덤하게 저장
sam = new int[3][3];
//1 - 9 숫자 랜덤하게 만들기
A:for (int i = 0; i < random.length; i++) {
int temp2 = (int) (Math.random() * 9 + 1);
//중복검사
for (int j = 0; j < random.length; j++) {
if(random[j] == temp2) {
i--;
//여기 고치기.
//여기 break 써도 된다.
continue A; // 원래 가까운 for문으로 가는데 A라고 라벨링해서 그리로
}
}
random[i] = temp2;
}
System.out.println("숫자 랜덤 : ");
System.out.println(Arrays.toString(random));
//[8, 5, 7, 1, 9, 2, 3, 6, 4]
//이제 입력하기
int count = 0;
for (int i = 0; i < sam.length; i++) {
for (int j = 0; j < sam[i].length; j++) {
sam[i][j] = random[count++];//차례대로 입력하면 만들어짐.
}
}
//출력
for (int[] is : sam) {
System.out.println(Arrays.toString(is));
}
System.out.println("=========================");
//인덱스를 랜덤으로 뽑는 경우
sam = new int[3][3];
int r1, r2; //index 번호
for (int i = 0; i < 10; i++) {//숫자
r1 = (int) (Math.random() * 3);//0 1 2 외부
r2 = (int) (Math.random() * 3);//0 1 2 내부
if(sam[r1][r2] == 0) { //? -> 초기값이냐 아니냐
sam[r1][r2] = i;
// System.out.println(r1 + ":" + r2 + "=" + i);
} else {
i--;
// System.out.println("중복 발생으로 다시 뽑아!");
}
}
//출력
for (int[] is : sam) {
System.out.println(Arrays.toString(is));
}
}
}