더북(TheBook)

로또 번호 생성기 만들기

이번에는 간단한 로또 번호 생성기를 만들어 보겠습니다. 다음 내용을 입력한 후 실행해 보세요.

로또 번호 생성기: RandomClassDemo.cs

using System;

class RandomClassDemo
{
    static void Main()
    {
        Console.Write("이번 주의 로또 : ");
        Random ran = new Random();
        int[] arr = new int[6];      //데이터 6개
        int temp = 0;
        for (int i = 0; i < 6; i++)
        {
            temp = ran.Next(45) + 1;  //1~45
            bool flag = false;
            if (i > 0 && i < 6)
            {
                for (int j = 0; j <= i; j++)
                {
                    if (arr[j] == temp)
                    {
                        flag = true; //중복되면 true로 설정
                    }
                }
            }
           if (flag)
            {
                --i;                //중복되었다면 현재 인덱스를 재반복
            }
            else
            {
                arr[i] = temp;      //중복된 데이터가 없다면 저장
            }
        }
        for (int i = 0; i < 6; i++)
        {
            Console.Write("{0} ", arr[i]);
        }
        Console.WriteLine();
    }
}

실행 결과

이번 주의 로또 : 18 17 37 30 32 31

로또 데이터를 담아 놓을 배열을 arr 이름으로 생성하고, Random 클래스의 Next() 메서드를 사용하여 1부터 45까지 정수를 랜덤하게 생성합니다.

생성된 데이터를 arr 배열에 입력하기 전에 이미 들어간 데이터가 있으면 인덱스를 감소하고 다시 랜덤 값을 구한 후 arr 배열에 입력하는 식으로 숫자 6개를 생성합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.