☕Language: Java
⭐ EOF: 더이상 읽을 수 있는 데이터가 없을 경우 사용
→ 입력값을 얼마나 받을지 명시하지 않을 경우 사용
1. Scanner Class
: hasNext()
: 입력값이 있을 경우 - true, 입력값이 없을 경우 - false
2. BufferedReader Class
: EOF 처리 메서드가 없으므로 입력값이 null일 경우, 반복문 종료
➕ String str 선언 이유
1. while 조건문 안에 br.readLine()을 바로 선언할 경우,
br 변수의 초기화 문제 또는 null값 할당 문제로 NullPointerException이 발생할 수 있음
⭐ str이 null인 경우는 br.readLine()의 결과로 얻은 값이 null인 상태를 의미하므로 NullPointerException이 발생하지 않지만, br이 null인 경우는 br 변수 자체가 null을 가리키는 상태라는 점에서 NullPointerException이 발생할 수 있음
2. String str = br.readLine()으로 선언 후, str을 사용할 경우,
while문 안에서 br.readLine()이 호출되지 않는 문제 발생(while문 안에서 br.readLine()이 직접 호출되어야 함)
(=1번만 호출된 br.readLine()에 값이 입력될 경우, line 변수에 저장되어 항상 null이 아니므로 무한루프에 빠질 가능성이 존재함)
3. String 선언과 함께 while 조건문을 사용할 경우,
문법적으로 허용되지 않음
소스 코드
🔗 HJ0216/TIL/BOJ
참고 자료
'Computer > Algorithm_Java' 카테고리의 다른 글
[BaekJoon] 2745번 진법 변환 문제풀이 (Success) (0) | 2023.05.11 |
---|---|
[BaekJoon] 1157번 단어 공부 문제풀이 (Success) (0) | 2023.05.10 |
[BaekJoon] 2444번 별 찍기 - 7 문제풀이 (Success) (0) | 2023.05.06 |
[BaekJoon] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 문제풀이 (Success) (0) | 2023.05.05 |
[BaekJoon] 1152번 단어의 개수 문제풀이 (Success) (0) | 2023.05.04 |