-
짤팁. hasNext()와 hasNextLine(),스캐너자바 초보개발/문제풀이 2023. 11. 13. 12:59
토큰 : 문자열 구분자를 기준으로 나눠져 있는 문자열 정보.
Next()는 기본적으로 다음 토큰이 있는지 확인한다. \s (스페이스바 공백) 을 기준으로 판별해서 다음이 있다면 true, 없다면 false를 반환한다.
NextLine()은 다음 문자열이 있는지 확인하는데, \n(엔터 줄바꿈) 을 기준으로 판별한다.
스캐너를 사용할때 무지성으로 System.in을 집어넣어 사용했지만,
문자열을 괄호 안에 넣는 것도 가능하다.
String input = "What a beautiful day" ;
Scanner scanner = new Scanner(input);
위 방법도 가능하단(!) 소리.
hasNext()로 true값을 몇번 문자열을 읽어도 1번 이상 받을 수 있지만,
hasNextLine()은 문자열을 읽기 전에 사용해야 true값을 1번 받을 수 있을 것이다.
그리고 scanner클래스는 기본적으로 입력을 받기 전까지 다른 프로그램을 block해 놓는다고 한다.
즉 내가 항상 궁금해하던 while문 안의 true false를 어째서 스캐너로 받으면 아래것은 실행되지 않는것인가의 답이 될것이다.