
import java.util.Scanner;를 해서 Scanner를 사용하고 마지막에 scanner.close();로 반납을 하려 했다. 어떤 경우에는 이게 오류 없이 넘어가고, 어떤 경우에는 오류가 떴다.
nextLine()이나 next()를 사용해 문자열을 입력받는데 scanner를 이용한 경우
위의 경우를 제외하고 nextInt() 등 정수를 입력받는데 사용한 경우 등
scanner.close();를 아예 main 메서드의 마지막에서 했었다.
stackoverflow에서 해결책을 발견했다. scanner를 main 메서드에서가 아닌, 처음 정의한 메서드에서 닫으라는 것이었다!
실제로 그렇게 해보니 오류가 더 이상 뜨지 않고 실행이 잘 되었다.
처음 정의한 메서드가 while()문인 경우, scanner를 close 해버리니 2번째 실행부터 다시 에러가 떴다...
그래서 그냥 scanner.close()를 없앴더니 깔끔하게 실행되었다.