본문 바로가기
개발

TIL: 코틀린 readLine(), readln(), 숫자만 입력하기

by kks950115 2023. 12. 5.
728x90

readLine()과 readln()의 차이

var str:String = readLine() 
var str2:String = readln()

 

키보드로부터 입력받을 수 있는 함수이다. 둘 다 String타입으로 받는다. 이름이 비슷해서 똑같은 거 아니야? 라고 생각할 수 있지만 이 둘은 다르다.

readLine()은 null 값도 받을 수 있다. 하지만 readln()은 null값을 받을 수 없다는  차이가 존재한다. 

그러니 용도를 구분해서 쓰도록 하자.

 

fun main() {
 var num = isNumber()
}

fun isNumber() : Int{
    while (true) {
        try {
            var num = readln().toInt()
            return num
        } catch (e: NumberFormatException) {
            println("숫자를 입력해주세요.")
        }
    }
}

 

숫자만 입력하게 하는 방법. 찾아본다면야 여러가지가 있겠지만 팀원이 알려준 것이고 약간 수정을 했다. 내가 이해할 수 있고, 괜찮은 방법인 거 같아서 적어놓는다.  문자, 공백, 특수문자는 입력할 수 없다.

728x90
반응형

댓글