package Lotto;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Random;
public class LottoMain {
public static void main(String[] args) {
// 로또 번호 출력하기
// 클래스 랜덤을 가져온다.
// Random 클래스 : 랜덤한 숫자를 만들어내기 위한 클래스
// 매개 변수 없는 생정자로 만들면 정말 랜덤이 되고
// 매개변수에 seed값을 설정하면 seed에 있는 숫자들이 하나씩
// 순서대로 리턴됩니다.
Random Lotto = new Random();
// 45나눈 나머지 값만 랜덤한 수를 만들어냅니다.
// System.out.println(Lotto.nextInt());
/// 1-45사이의 숫자를 6개 랜덤하게 저장햇거 출력
// 숫자는 중복되면 안됩니다.
// for (int i = 1; i <= 6; i++) {
// int a = Lotto.nextInt(45);
// boolean b =true;
// for (int j=0; j<= 6; j++) {
// if (a == j + 1) {
// i = i - 1;
// System.out.println();
// break;
// }
//
// if(false==b) {
//
// continue;
// }
//
// }
// System.out.println();
// }
// Set은 중복된 데이터를 저장하지 않음
// Tree는 크기순으로 저장
//
// TreeSet<Integer> random = new TreeSet<Integer>();
// while (random.size() < 6) {
// random.add(Lotto.nextInt(45) + 1); // 랜덤한 숫자를 넣어라
// }
// System.out.println(random);
System.out.println("=====================================================");
// 데이터 샘플링
// 정해진 데이터 내에서 랜덤하게 데이터를 추출하는 것
// 동일한 데이터가 추출되도 되는 경우와 그렇지 않은 경우로
// 나누어서처리
// 배열이나 리스트에 정해진 데이터를 배치하고 난 후
// 배열이나 리스트이 인덱스를 랜덤한 정수로 대입하면 됩니다.
// A,B,C,D,E 중에서 랜덤하게 3개 추출
// 중복을 허용
String[] ar = { "A", "B", "C", "D", "E", "F" };
for (int i = 0; i < 3; i = i + 1) {
System.out.print(ar[Lotto.nextInt(ar.length)] + ",");
}
// 시드 고정 -일정한 패턴의 숫자가 순서대로 출력
// Lotto.setSeed(1000);
System.out.println(Lotto.nextInt());
// ABCDEFGHIJ -- 각각은 하나의 스트링
// 10개중에서 3개를 랜덤하게 추출
// 중복된 데이터 없이 추출
// 1 . 데이터를 하나에 배열이나 리스트로 만들어야한다.
ArrayList<String> si = new ArrayList<String>();
si.add("A");
si.add("B");
si.add("C");
si.add("D");
si.add("E");
si.add("F");
si.add("G");
si.add("H");
si.add("I");
si.add("J");
// 2. 데이터가 10이므로 0-9까지의 숫자 3개를 랜덤하게
// 생서해야합니다. -중복되지 않게
Random b = new Random();
// 중복된 데이터를 저장하지 않는 컬렉션을 생성
HashSet<Integer> set = new HashSet<Integer>();
while (set.size() < 3) {
set.add(b.nextInt(5)); // 추가한다. set.size 하나씩 넣어지는 것
}
System.out.print(set);
// 3. 2번에서 생성한 숫자들을 가지고 1번에서 데이터를 추출
for (Integer ism : set) {
System.out.print(si.get(ism));
}
}
}
'Java > 자바 공부' 카테고리의 다른 글
view (0) | 2018.01.29 |
---|---|
스트링을 숫자로 바꾸기 (0) | 2018.01.21 |
버블정렬 (0) | 2018.01.20 |
선택정렬 (0) | 2018.01.20 |
super() 와 부모 (0) | 2018.01.20 |