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

+ Recent posts