자바 로또생성기 소스 좀 봐주세요!
조회수 1505회
package lotto;
import java.util.Random;
public class Lotto {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//로또 배열을 받는다.
Lotto lotto = new Lotto();
int[] lottoArray = lotto.lottoNumGenerator();
//로또 번호를 출력한다.
System.out.println("==로또 번호==");
for(int i=0;i<lottoArray.length;i++){
System.out.print(lottoArray[i]+" ");
}
}
int[] lottoNumGenerator(){
//6개의 숫자 변수를 저장할 배열을 생성한다.
int lottoNumbers[] = new int[6];
//Random을 활용하여 1~45의 난수 생성, 배열에 저장한다.
Random random = new Random();
for(int i =0;i<lottoNumbers.length;i++){
lottoNumbers[i]=random.nextInt(45)+1;
}
//배열 안 난수의 중복 체크, 값을 재설정한다.
boolean duplication = true;
for(int i =0;i<lottoNumbers.length;i++){
for(int j=0;j<lottoNumbers.length;j++){
if(i!=j&&lottoNumbers[i]==lottoNumbers[j]){
duplication=true;
lottoNumbers[i]=random.nextInt(45)+1;
break;
}else{
duplication=false;
}
}
//중복안되는 수로 변할때까지 무한 재설정되도록 i--
if(duplication){
i--;
}
}
return lottoNumbers;
}
}
- 랜덤함수를 이용하여 작성을 하며 6자리의 랜덤번호를 출력 하며 같은번호가 2번이상 나올수가 없음
- 객체지향적으로 만들것 (메소드화를 시켜 세분화)
- 배열, List, Map을 최대한 활용할것
이렇게 조건이 있는데요. 1번은 해결된거같은데, 나머지 2,3번을 할려면 어디에 뭘 추가해야 할까요
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력