[오류] Scanner 무한 반복

PUJIN·2023년 6월 27일
0

코딩 - 오류 해결

목록 보기
2/2
post-thumbnail

발생 오류


🚨 Scanner 무한 반복


(+) 발생 코드 or View

val inputNumber = scanner.nextInt()
val textLine = scanner.nextLine()



❗️발생 원인


  1. scanner가 인식하는 변수형과 다른 타입을 입력하는 경우
  2. nextLine()이 아닌 scanner 사용 후 nextLine() 사용하는 경우



🛠️ 해결 방법


* ex. Int형 변수 인식

  • 숫자를 입력해야하는 칸에 숫자가 아닌 문자열을 입력한 경우 대비
  • nextLine()이 아닌 scanner 사용 후 nextLine() 사용하는 경우

  1. next()로 읽어온 후 Int형으로 변환
// 문자열로 입력받은 후 Int로 변환
val inputNumberTemp = scanner.next()
val inputNumber = inputNumberTemp.toInt()
  1. nextLine()으로 엔터 한번 읽어온 후 본문 코드 실행
try {
    val inputNumber = scanner.nextInt()
} catch(e: Exception) {
    // 정수형 변수를 입력받는 함수 이후 한번 엔터(공백) 읽어오기
    scanner.nextLine()
}



  • nextLine() : 한줄과 엔터까지 인식
  • next() : 띄어쓰기 전까지 인식 (엔터 인식 X)
  • nextInt() : 정수 인식 (엔터 인식 X)

0개의 댓글