* 로또 번호 생성기
> 배열 / for문 / Math.random 활용
package day06;
//로또 번호 생성기
public class ArrayEx08 {
public static void main(String[] args) {
// 1. 45칸 짜리 int 배열을 선언
int[] rnd = new int[45];
// 2. 배열에 1부터 45의 값을 대입
// 3. 콘솔에 출력 rnd[0] : 1
for(int i=0; i<rnd.length; i++) {
rnd[i] = i+1;
}
// 4. 랜덤하게 정수 하나를 생성
// 0*10 <= Math.random()*10 < 1*10
// rnd[5] : 6
// System.out.println((int)(Math.random()*10));
// 5. 랜덤하게 0~44 정수 하나를 생성
// 6. 이건 100번 반복해서 생성
// 0*45 <= Math.random()*45 < 1*45
// for(int i=0; i<100; i++) {
// System.out.println((int)(Math.random()*45));
// }
for(int i=0; i<1000; i++) {
int a = (int)(Math.random()*45);
int b = (int)(Math.random()*45);
// System.out.println("rnd["+a+"] : "+rnd[a]);
// System.out.println("rnd["+b+"] : "+rnd[b]);
// 두 변수의 값 교환
// rnd[2] : 3
// rnd[44] : 45
int temp = -100; // 전혀 올 수 없는 값을 초기값으로 함
temp = rnd[a]; // 임시변수에 3을 할당
rnd[a] = rnd[b]; // 45 값을 rnd[2]에 할당
rnd[b] = temp; // 3 값을 rnd[44]에 할당
}
// System.out.println("rnd["+a+"] : "+rnd[a]);
// System.out.println("rnd["+b+"] : "+rnd[b]);
// for(int i = 0; i<45; i++) {
// System.out.println("rnd[" + i + "] : " + rnd[i]);
// }
// 6개 출력
for(int i = 0; i<6; i++) {
System.out.print(rnd[i]+"\t");
}
System.out.println();
}
}
'Java' 카테고리의 다른 글
[Java] Method 메서드 ( return / overloading / call by value / call by reference) (0) | 2023.03.10 |
---|---|
[Java] 야구 게임 (배열 / Scanner / 반복문(for, while) / Math.random 활용) (0) | 2023.03.10 |
[Java] 배열 (1~3차원 배열 / 임시변수 - 변수값 교환 / 버블 소트) (0) | 2023.03.09 |
[Java] 잔돈 교환기 및 자판기 Vending Machine (Scanner / if ~ else if 문 활용) (0) | 2023.03.09 |
[Java] 알파벳 대소문자 변환기 (IOException / System.in / ASCII 코드 변환 - 활용) (0) | 2023.03.09 |