저번에 로또 당첨 번호와 1등까지의 확률(수)를 구해봤는데
1등이 될 때 2등은 몇 번 나올까? 를 구하려고
다시 코드를 작성해보았습니다!
package javaqna;
import java.util.HashSet;
public class Lotto03 {
public static void main(String[] args) {
HashSet lotto = new HashSet();
HashSet num = new HashSet();
boolean flag = true;
int first = 0; //1등까지 돌린 횟수
int second = 0; //1등이 될 때 까지 2등이 몇 번 되나 구하기 위해...
while(true) {
lotto.add((int)(Math.random()*45)+1);
num.add((int)(Math.random()*45)+1);
if(num.size() ==5) { //번호 5개가 저장되면
if(lotto.equals(num)) { //같으면 2등 당첨
System.out.println(num);
System.out.println(lotto);
System.out.println("2등 당첨입니다!");
second++; //2등이 된 횟수를 누적
} while(true) { //당첨이 안 되면 바로 while문으로 넘어가서 1등 실행
lotto.add((int)(Math.random()*45)+1); //랜덤 번호를 1개씩 더 부여
num.add((int)(Math.random()*45)+1);
if(num.size() ==6) { //번호가 6개 지정될 경우
if(lotto.equals(num)) { //당첨
System.out.println(num);
System.out.println(lotto);
System.out.println("1등 이만큼"+first);
System.out.println("2등 당첨 횟수"+second);
System.out.println("1등 당첨입니다!");
break; //종료
} else { //당첨이 안 되면
first++; //돌린 횟수를 1회 추가
lotto.clear();
num.clear(); //번호 초기화
break; //두번째 while문 종료
}
}
}
}
}
}
}
1796144번 돌 동안
2등 단 2번 당첨....^^;;;;;;
로또는 안 하느니만 못하네요
오늘은 학원에서 클래스와 객체를 배워서요!
나중엔 깔끔하게 묶어서 정리해보겠습니다
728x90
'혼자서 개발새발' 카테고리의 다른 글
int a 값에 메소드 return값을 담는다면? (0) | 2022.10.01 |
---|---|
카페 주문 앱을 객체로 정리해보자! (1) | 2022.09.30 |
Java while,if문)랜덤 다이스를 돌려보자 (0) | 2022.09.28 |
Java while, if문) 반복문으로 은행앱을 만들어보자! (0) | 2022.09.28 |
Java if문)숫자 세 개중에 중간인 수는 무엇일까? (0) | 2022.09.28 |