*[Code] 로또 번호 추첨 - Random(), list, set 사용 방법
-로또 번호 추첨 앱 사용 : Random()사용하지 않음
--(list에 1~45의 숫자를 넣고 리스트 자체 값을 섞고 난 뒤 섞인 값 중 앞의 6개만 뽑아 출력)
*범위 1~45 랜덤 값 1개 얻기
-Random() 사용
//랜덤함수 파라미터에 아무런 값을 입력하지 않으면
//나노밀리초로 랜덤값을 가져올 수 있음
val random = Random()
//랜덤값의 범위 지정을 위해 nextInt() 사용
//45를 지정하면 0~44까지의 숫자 중 랜덤값을 반환하여 보여줌
//1~45의 값을 얻고 싶다면 +1을 하여 값을 얻음
println("${random.nextInt(45) +1 }")
*범위 1~45 랜덤 값 6개 얻기
-Random() 사용
-for() 반복문 사용
val random = Random()
for(i in 1..6){
println("${random.nextInt(45)+1}")
}
*list를 사용해 범위 1~45 랜덤 값 6개 중복없이 얻기
-Random() 사용
-while 반복문 사용
-list.contains() 사용 : 리스트 안에 값이 있는지 검사해주는 함수
val random = Random()
val list = mutableListOf<Int>()
//리스트 안 값이 개수가 6보다 커지기 전까지 반복문 실행
while(list.size < 6){
val randomNum = random.nextInt(45) +1
//리스트 안에 값이 있는지 검사해주는 함수 contains()사용
//리스트 안에 랜덤넘버가 있으면 다시 while문의 앞으로 와서 실행
if(list.contains(randomNum)){
continue
}
//리스트 안에 랜덤넘버가 없다면 랜덤넘버 추가
list.add(randomNum)
}
println(list)
*list에 1~45의 숫자를 넣고 리스트 자체 값을 섞고 난 뒤 섞인 값 중 앞의 6개만 뽑아 출력
-Random() 사용안함
-.apply{} 사용 : 리스트의 값 초기화 시 사용
-.shuffle() 사용 : 리스트의 값들을 랜덤하게 섞음
-.subList(원하는 첫 번째 인덱스, 원하는 마지막 인덱스) : 원하는 인덱스까지 출력
val list = mutableListOf<Int>().apply{
//.apply 초기화 시 많이 사용
//list에 1~45숫자 넣는 코드 작성
for(i in 1..45){
this.add(i)
}
}
//shuffle(): 리스트 안 숫자들을 랜덤하게 섞이도록 함
list.shuffle()
//subList()를 사용해 앞에서부터 6개까지의 인자 출력
//subList(from인덱스, to인덱스)
println(list.subList(0, 6))
*set을 사용하여 범위 1~45 랜덤 값 6개 얻기
-Random() 사용
--set은 중복을 허용하지 않는 리스트이며 중복된 숫자를 넣어도 실제로 추가가 되지 않음
val random = Random()
val numSet = mutableSetOf<Int>()
while(numSet.size < 6){
val ranNum = random.nextInt(45) +1
numSet.add(ranNum)
}
println(numSet)
'Android App > Project(Kotlin)' 카테고리의 다른 글
[Code] 간단한 계산기 - Layout (0) | 2023.01.17 |
---|---|
[App] 비밀 다이어리 (0) | 2023.01.15 |
[App] 로또 번호 추첨 (2) | 2022.12.31 |
[App] BMI(체질량지수)계산기 (0) | 2022.12.28 |