본문 바로가기
안드로이드/Kotlin

로또 추첨기 만들기 - 1

by step 1 2021. 6. 20.
반응형

여러가지 방식의 Random값 가져오기

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.random/

 

kotlin.random - Kotlin Programming Language

 

kotlinlang.org

랜덤함수는 seed값으로 시간을 이용한다(nano)

https://currentmillis.com/

 

Current Millis

Convert milliseconds to date-time. Link to a moment.

currentmillis.com

1. List 활용하여 1 ~ 45 까지 번호 가져오기 

import java.util.Random

// mutableListOf: 수정가능한 Lits

fun main() {
    var random = Random()
    var list = mutableListOf<Int>()
    while(list.size < 6){
        val randomNumber = random.nextInt(45) + 1
        if(list.contains(randomNumber)){
            continue
        }
        list.add(randomNumber)
    }
    print(list)
}

2. Set 활용하여 1 ~ 45 까지 번호 가져오기

import java.util.Random

// mutableSetOf를 이용하여 중복검사 로직을 하지 않고 바로 랜덤값을 넣어준다.

fun main() {
    var random = Random()
    var numberSet = mutableSetOf<Int>()
    while(numberSet.size < 6){
        val randomNumber = random.nextInt(45) + 1
        numberSet.add(randomNumber)
    }
    print(numberSet)
}

3. List에 미리 45번까지의 데이터를 가지고 있다가 앞에서 6번째까지 데이터 가져오기

import java.util.Random

/**
 * You can edit, run, and share this code. 
 * play.kotlinlang.org 
 */

fun main() {
    var random = Random()
    var list = mutableListOf<Int>().apply{
        for(i in 1 .. 45){
            this.add(i)
        }
    }
   	list.shuffle()
    print(list.subList(0,6))
}

 

 

 

기본설정인 constraint-layout을 사용

https://developer.android.com/reference/androidx/constraintlayout/widget/ConstraintLayout

 

ConstraintLayout  |  Android 개발자  |  Android Developers

 

developer.android.com

 

반응형

'안드로이드 > Kotlin' 카테고리의 다른 글

BMI 계산기 - 계산 기능  (0) 2021.06.13
BMI 계산기 - 레이아웃  (0) 2021.06.13
안드로이드 스튜디오 에러  (0) 2021.06.13
Kotlin 개념, 문법  (0) 2021.06.13