728x90
반응형
현재 풍무한수학 어플리케이션을 작업 중 특정 값을 나눔에 있어서 딱 떨어 맞아야 하는 경우가 필요하였다.
Question1, Question2 라벨 값이 있으며
Question1을 Question2로 나눌 때 그 나머지가 '0'이 되어야 한다.
그러므로 Question2에는 Question1의 약수 중 하나의 값이 들어가야 한다.
그 하나의 값은 Random으로 난수를 적용하여 선택할 것이다.
1. Question1 자리수 입력시 해당 자리수 만큼의 난수가 도출되도록 함
fun makeRandomFirstLineValue(questionLength: Int): Int {
var answer: String = ""
for (i in 1 .. questionLength) {
val randomValue: Int = Random().nextInt(9) + 1
answer = randomValue.toString() + answer
}
NLog.i("makeRandomFirstLineValue.. answer:$answer")
return answer.toInt()
}
2. Question2 값 만들기
val divisors = mutableListOf<Int>()
for (i in 1 .. maxValue / 2) {
if (maxValue % i == 0) {
divisors.add(i)
}
}
NLog.i("makeRandomSecondLineValue.. divisors:$divisors")
val randomValueSize = divisors.size
val randomIndex = if (randomValueSize > 1) Random().nextInt(randomValueSize) else 0
divisors[randomIndex]
728x90
반응형
'lan > kotlin' 카테고리의 다른 글
[Kotlin] when (0) | 2023.11.23 |
---|---|
[Kotlin] Type 타입 확인 방법 (0) | 2023.11.10 |