+)해당 게시글은 알고리즘 DAY4를 풀면서 발견한 문제에 대해서 공부중에 작성한 글입니다.
next() VS nextLine()에 대해서
공통점 > 문자열 반환
차이점 > 개행문자를 무시하느냐 안하느냐
next() : 다음 토큰을 문자열로 리턴한다.
nextLine() : ‘/n’을 포함한 라인을 읽고 ‘/n’을 버린 나머지를 리턴
위의 문제를 알기 위해서는 작은 개념을 한가지 이해하고 넘어가야한다.
우리들이 키보드로 입력하는 문자열은 기본적으로 버퍼에 저장 된다.
즉 키보드로
TEST[엔터]를 입력한다면 버퍼는 TEST[엔터]를 갖고 있는 상황에서
TEST만 가져오고 버퍼안에 [엔터]가 남아버리는 상황이 발생한다.
이 상황에서 다시 nextLine() 입력을 받는 순간
[엔터]를 읽어와버린다…
문자열 3개를 nextLine()으로 받는 순간 우리 실제로 받을 수 있는 문자열은 2개와 엔터가 들어오는 불상사가 발생한다.
조심하자….
'개인적 정리' 카테고리의 다른 글
트랜잭션 Isolation levels (0) | 2022.10.14 |
---|---|
MEMO 22.10.10 (0) | 2022.10.10 |
java -jar jar이름.jar 실행 (0) | 2022.08.02 |
[Jasypt] 스프링 properties / yaml 파일 암호화 하기 (0) | 2022.07.27 |
[Linux] 명령어 정리 (0) | 2022.07.26 |