이전 섹션에서는 String 클래스의 Split(String regex)을 사용하여 문자열을 분해하는 방법과 StringTokenizer 클래스를 사용하여 문자열의 단어를 구문 분석하는 방법을 배웠습니다. 이 섹션에서는 Scanner 클래스 의 개체를 사용하는 방법을 알아봅니다. 프로그램에 필요한 데이터를 구문 분석합니다.
프로그램에 필요한 데이터를 구문 분석하는 방법에는 두 가지가 있습니다. 하나는 기본 구분 기호 태그를 사용하여 문자열을 구문 분석하는 것이고, 다른 하나는 정규 표현식을 구분 기호 태그로 사용하여 문자열을 구문 분석하는 것입니다. 방법.
기본 구분 기호 태그를 사용하여 문자열을 구문 분석하려면 Scanner 개체를 만들고 구문 분석할 문자열을 생성된 개체에 전달해야 합니다. 예를 들면 다음과 같습니다.
StringNBA=ILoveThisGame;
NBA에서 단어를 구문 분석하기 위해 Scanner 객체를 생성할 수 있습니다.
Scannerscanner=newScanner(NBA);
그런 다음 스캐너는 공백을 구분 기호로 사용하여 문자열의 단어를 구문 분석합니다. 구문 분석 작업의 특징은 다음과 같습니다.
1) 스캐너는 next() 메소드를 호출하여 NBA의 단어를 순차적으로 반환합니다. NBA의 마지막 단어가 next() 메소드에 의해 반환되면 스캐너는 hasNext()를 호출하여 false를 반환하고, 그렇지 않으면 true를 반환합니다.
2) 123, 1.23 등과 같이 구문 분석된 문자열의 숫자 단어의 경우 스캐너는 next() 메서드 대신 nextInt() 또는 nextDouble() 메서드를 사용할 수 있습니다. 즉, 스캐너는 nextInt( ) 또는 nextDouble() 메서드를 사용하여 숫자 단어를 int 또는 double 데이터로 변환하고 반환합니다.
3) 해당 단어가 숫자 단어가 아닌 경우 스캐너가 nextInt() 또는 nextDouble() 메서드를 호출하면 InputMismatchException이 발생합니다. 예외 처리 시 next() 메서드를 호출하여 숫자가 아닌 단어를 반환할 수 있습니다.