En las secciones anteriores aprendimos cómo usar split(String regex) de la clase String para descomponer una cadena y cómo usar la clase StringTokenizer para analizar palabras en una cadena. En esta sección aprendemos cómo usar objetos de la clase Scanner . para analizar a partir de cadenas los datos requeridos por el programa.
Hay dos formas de analizar los datos requeridos por el programa. Una es usar la etiqueta delimitadora predeterminada para analizar la cadena y la otra es usar expresiones regulares como etiquetas delimitadoras para analizar la cadena. En esta sección aprenderemos la primera. método.
Para analizar una cadena usando la etiqueta delimitadora predeterminada, necesitamos crear un objeto Scanner y pasar la cadena a analizar al objeto construido, por ejemplo:
StringNBA=Me encanta este juego;
Para analizar las palabras en NBA, podemos construir un objeto Scanner:
Escánerescáner=nuevoEscáner(NBA);
Luego, el escáner utiliza espacios como delimitadores para analizar las palabras en la cadena. Las características de la operación de análisis son las siguientes:
1) El escáner llama al método next() para devolver las palabras en NBA en secuencia. Si la última palabra en NBA ha sido devuelta por el método next(), el escáner llama a hasNext() para devolver falso; de lo contrario, devuelve verdadero.
2) Para palabras numéricas en la cadena analizada, como 123, 1.23, etc., el escáner puede usar el método nextInt() o nextDouble() en lugar del método next(), es decir, el escáner puede llamar a nextInt( ) o el método nextDouble() Convierte palabras numéricas en datos int o double y los devuelve.
3) Si la palabra no es una palabra numérica, se producirá una excepción InputMismatchException cuando el escáner llame al método nextInt() o nextDouble(). Al manejar la excepción, se puede llamar al método next() para devolver la palabra no digital.