본문 바로가기

[Android/Kotlin] 안드로이드 로또 번호 생성하기(1)

꿈꾸는블로그왕 2021. 1. 17.

랜덤으로 로또 번호를 생성하는 방법입니다.

 

간단히 설명드리면 

 

로또 번호를 담을 List를 하나 생성합니다.

번호를 랜덤으로 생성하고, List에 담기전에 똑같은 번호가 들어있는지 확인을 해줍니다.

List에 담겨져 있다면 continue를 호출하여 반복문을 다시 시작합니다. 반대로 없으면 List에 담아줍니다.

6개 번호가 담겨질때까지 반복합니다.

 

마지막으로 번호순서대로 정렬하기 위해 sort()를 호출 합니다.

 

[While 사용]

fun main(args: Array<String>) {
    val result = createRandomNumberList()
    for (i in result.indices) {
        println("i번째 숫자: ${result[i]}")
    }
}

fun createRandomNumberList(): List<Int> {
    val lottoNumbers = mutableListOf<Int>()

    while (lottoNumbers.size < 6) {
        val randomNumber = Random.nextInt(1, 46)

        if (lottoNumbers.contains(randomNumber)) {
            continue
        }

        lottoNumbers.add(randomNumber)
    }

    lottoNumbers.sort()
    return lottoNumbers
}

 

다른 방법으로는

리스트에 1~45까지 숫자를 담습니다.

그리고 그 숫자들을 섞어줍니다. -> shuffle() 호출

그리고 결과 리스트에 6개 숫자만 담아줍니다.

[For Loop 사용]

fun main(args: Array<String>) {
    val result = createRandomNumberListByForLoop()

    for (i in result.indices) {
        println("i번째 숫자: ${result[i]}")
    }

}

fun createRandomNumberListByForLoop(): List<Int> {
    val lottoNumbers = mutableListOf<Int>()
    val lottoNumbersResult= mutableListOf<Int>()

    for (i in 1..45) {
        lottoNumbers.add(i)
    }

    lottoNumbers.shuffle()

    for (i in 0..5) {
        lottoNumbersResult.add(lottoNumbers[i])
    }

    lottoNumbersResult.sort()

    return lottoNumbersResult
}

 

 

번호를 생성하면 아래와 같은 결과를 확인 할 수 있습니다.

 

 

https://play.google.com/store/apps/details?id=com.reachfree.numberonelotto

 

넘버원로또(무료) - Google Play 앱

매주 행운의 주인공이 되어보세요! 당신의 슬기로운 로또생활을 응원합니다. - 넘버원 로또는 심플한 디자인으로 쉽고 직관적으로 사용할 수 있도록 했습니다. - 번호생성부터 로또 구매내역까

play.google.com

 

댓글