-> 1~45라고 적힌 공을 6번 <<복원 or 비복원>> 추출
package day0908;
import java.util.Arrays;
import java.util.Random;
public class ArrayTest08 {
public static void main(String[] args) {
/*
<표현 방법 1> - 초기화 리스트 선언
double num[] = {3.14, 2.5, 4.6};
<표현 방법 2>
double num[] = new double[3];
num[0] = 3.14;
num[1] = 2.5;
num[2] = 4.6;
*/
// 로또 번호 생성(Random 클래스) : 1~45라고 적힌 공을 6번 <<복원 or 비복원>> 추출
int lotto[] = new int[6];
Random ran = new Random();
/* (번호 생성하여 배열에 저장)
lotto[0] = ran.nextInt(45) + 1; // (0~44) + 1 => 1~45
lotto[1] = ran.nextInt(45) + 1;
lotto[2] = ran.nextInt(45) + 1;
lotto[3] = ran.nextInt(45) + 1;
lotto[4] = ran.nextInt(45) + 1;
lotto[5] = ran.nextInt(45) + 1;
*/
/*
// << 복원 추출 >>
// (번호 생성하여 배열에 저장)을 for 문으로 표현
int len = lotto.length;
for(int i = 0; i < len; i++) {
lotto[i] = ran.nextInt(45) + 1;
}
// (번호 출력)
for(int i = 0; i < len; i++) {
System.out.print(lotto[i]+" "); // "" -> 띄어쓰기 X , " " -> 띄어쓰기 O
}
*/
// << 비복원 추출 >> ····· 8.31(2) 정리 내용 참조
// (번호 생성하여 배열에 저장)을 for 문으로 표현
int len = lotto.length;
for(int i = 0; i < len; i++) {
int temp = ran.nextInt(45) + 1;
boolean check = false;
// 중복 체크
for(int j = 0; j < i; j++) {
if(lotto[j] == temp) {
check = true;
}
}
if (check) { // check가 false일 경우 if 문 바로 탈출 , check가 true일 경우 실행문 실행
i--;
continue; /* if의 조건문이 true일 경우,
for 문의 증감문(이 경우, 감싸고 있는 맨 처음에 있는 for 문)으로 그 즉시 이동 */
}
// 중복 번호가 없을 때만
lotto[i] = temp;
}
// (번호 출력)
Arrays.sort(lotto); // 오름차순 정렬
for(int i = 0; i < len; i++) {
System.out.print(lotto[i]+" ");
}
}
}
오름차순
ORACLE 홈페이지 – 제품(상단의 메뉴) – Java – Java 다운로드
– Java SE11 (LTS) – 좌측의 ‘Documentation’ – 좌측의 ‘API Documentation’
– 우측 상부의 SEARCH : arrays – ‘Type : java.util.Arrays’ 클릭
– 위쪽의 메뉴에서 METHOD를 클릭
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Arrays.html#method.summary