반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 코딩
- Heap
- 비전공
- db
- CachingOperationNameGenerator
- Session
- 자바스크립트
- Thymeleaf
- 스프링부트로그
- 객체 주소
- SpringBoot
- 타임리프
- Stack
- 스프링
- 스프링로그
- 국비학원
- Spring
- Statement
- 자바
- preparedstatement
- Java
- 서블릿
- JSP
- scanner
- JDBC
- List에 객체 같은 값
- MVC
- 오라클
- Servlet
- JavaScript
Archives
- Today
- Total
sin prisa pero sin pausa
[JAVA] Scanner의 단점과 해결방법 본문
반응형
문자를 받아오는
next() 와 nextLine() 사이에서의 문제가 발생한다.
next()는 공백을 신호로 단어를 받아오며 엔터를 눌러 입력했을 때 엔터(\n)는 받아오지 않는다.
이럴 때, next()를 입력하고 나면 buffer에는 엔터(\n)가 그대로 남아있게 된다.
nextLine()은 엔터를 신호로 문자열을 받아오기 때문에 엔터를 끝으로 입력 값이 마쳐지게 된다.
그렇기 때문에 만약 next() 다음에 nextLine()를 사용할 시,
nextLine()은 버퍼에 남아있던 엔터(\n)를 그대로 꺼내오면서 nextLine()의 특성에 맞게
아무리 값을 입력해도 엔터만이 입력값에 들어간 채 입력이 마쳐지게 된다.
해결 방법:
next()와 nextLine() input 값 사이에 nextLine() 메소드를 한 번 더 넣어준다.
이로 인해 buffer에서 엔터를 꺼내오기 때문에 새로운 값이 들어갈 때 문제 없이 잘 입력 되도록 해준다.
어떤 변수에도 할당하지 않기 때문에 정말 엔터를 꺼내주는 용도로만 사용된다.
반응형
'더 알아보고 싶은데?' 카테고리의 다른 글
[톰캣 에러] HTTP 상태 404 – 찾을 수 없음 (0) | 2021.06.08 |
---|---|
[Javascript] form - submit 하고 새로고침 안 되도록 하기 (0) | 2021.06.04 |
이 시스템에는 oracle database express edition 서비스가 이미 있습니다 있습니다 있습니다 있습니다 있습니다 (0) | 2021.04.14 |
[JAVA] BufferedReader (0) | 2021.03.19 |
메모리? (0) | 2021.03.18 |