본문 바로가기
STUDY/ㅡㅡ^

0509 숙제 - 로또 만들기

by hingu 2024. 5. 9.
package exam;

import java.util.ArrayList;

public class lotto {
	/*
	 숙제
	 pc가 1~46까지 숫자를 총 6개를 생성합니다.
	 해당 6개의 숫자를 클래스배열에 모두 저장시킵니다.
	 단,동일한 숫자가 입력되었을 경우 새로운 숫자로 다시 pc가 선택할수 있도록 코드를 작성합니다.
	 
	 예시}
	 [2,6,8,22,6,27] (X) 중복 등장부터 다시 뽑기
	 [10,16,32,41,22,31] (O)
	 
	 */
	public static void main(String[] args) {
		new random().abc();
	}
}

class random {
	
	public void abc() {
		int randnum =(int)Math.ceil(Math.random()*46);
		ArrayList<Integer> numlist = new ArrayList<Integer>();
		
		numlist.add(randnum); //하나를 미리 넣고 시작
		int count = 0; //겹침여부
		
		while(numlist.size() < 6) { //length 6 될때까지 돌아감
			randnum =(int)Math.ceil(Math.random()*46);
			for(Integer me : numlist) {
				if(randnum == me) {
					count++; //방금 생성된 랜덤 숫자가 기존수와 같은게 "있다면" count+1
				}
			}
			
			if(count == 0) { //같은게 "없으면" 배열추가
				numlist.add(randnum);
			}else {
				count = 0; //같은게 "있으면" 다시 초기화
			}
			
		}
		System.out.println(numlist);
	};
	
}

 

'STUDY > ㅡㅡ^' 카테고리의 다른 글

java 셤준비 1  (0) 2024.06.05
2024-05-24 숙제  (0) 2024.05.24
아 진짜 짱나는 문제 scanner-중첩for  (0) 2024.05.03