로또 번호 추첨하기 JAVA 2009. 1. 6. 21:58

일단 처음엔 로또범위만큼 숫자를 랜덤으로 뽑아야겠죠.
일단 랜덤한 숫자를 뽑는 메소드입니다.

void makeNumber()
{
   int a;
   for(int i = 0; i<6; i++)
   {
      a=(int)((Math.random()*46)+1);
//   a = m_my.nextInt(46) + 1;     // 위에거나 밑에거나 상관없습니다. 취향따라 하시길^^
      if(checkSame(i, a) == true){
         m_number[i] = a;
      }
      else{
         i--;
      }
   }
}

중간에 checkSame메소드는 
랜덤하게 뽑은 값중에 이미 나와있는 중복값을 확인해서 삭제하는 기능을 합니다.

boolean checkSame(int index, int value){
   for(int j=0; j<index; j++)
   {
       if(m_number[j]==value){
       return false;
       }
   }
   return true;
}

배열의 값을 하나하나씩 비교해주는 for문이구요.
가운데 if문은 같은값이 있을 경우 false를 리턴하고 그 중복된 값은 m_number배열에 입력되지 않습니다.

헷갈리거나 이해가 가지 않으시는 분들은 i,j,a값을 표로 만들어서 써가면서 따라해보세요.
그럼 이해가 좀더 쉬우실거에요~

이 두 메소드가 가장 중요한 부분이구요.
나머지 변수선언이나 메인안에는 어떤게 들어가야할지는 각자 고민해보아요.
전체를 다 베껴쓰면 실력이 늘지 않아요.^^