Análisis de números de la entrada
Convierta texto en números
Análisis de números de la entrada es una lección gratuita de Java Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Java Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Java Academy incluye 4 lecciones en total.
Las líneas siempre son cadenas
readLine() siempre devuelve un String, incluso cuando el usuario escribe 42. Para hacer cálculos, debe analizar ese texto y convertirlo en un número.
Java proporciona métodos auxiliares como Integer.parseInt y Double.parseDouble precisamente para esto.
Integer.parseInt
Integer.parseInt(String) convierte texto como "42" en el valor int 42.
Una vez analizado, puede sumarlo, multiplicarlo o compararlo como cualquier otro número.
String text = "42";
int n = Integer.parseInt(text);
System.out.println(n + 1);Un ejemplo ejecutable de análisis
A continuación se muestra un programa completo y ejecutable que analiza una cadena definida directamente en el código y duplica su valor.
No lee desde System.in, por lo que se ejecuta de inmediato e imprime el resultado.
public class Main {
public static void main(String[] args) {
String text = "21";
int n = Integer.parseInt(text);
System.out.println("Doubled: " + (n * 2));
}
}Leer y después analizar
El patrón real es: leer una línea y después analizarla. Este programa lee un número de la consola e imprime su cuadrado.
Como espera en System.in, aquí no se puede ejecutar automáticamente, pero este es el patrón de uso cotidiano.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
System.out.println("Square: " + (n * n));
}
}Recorte los espacios antes de analizar
Los espacios sobrantes impiden el análisis. Integer.parseInt(" 42 ") lanza un error, pero Integer.parseInt(" 42 ".trim()) funciona.
Es una buena práctica llamar a trim() en la línea antes de analizarla.
String raw = " 7 ";
int n = Integer.parseInt(raw.trim());
System.out.println(n);Analizar decimales
Para los números decimales, use Double.parseDouble. Este método convierte texto como "3.14" en un double.
También existe Long.parseLong para números enteros muy grandes que superan el rango de int.
public class Main {
public static void main(String[] args) {
double pi = Double.parseDouble("3.14");
System.out.println(pi * 2);
}
}Varios números en una línea
A menudo una línea contiene varios números separados por espacios, como "10 20 30". Use split(" ") para dividirla en un arreglo de elementos String.
Después, analice cada elemento por separado.
String[] parts = "10 20 30".split(" ");
int a = Integer.parseInt(parts[0]);
int b = Integer.parseInt(parts[1]);
System.out.println(a + b);Sumar números divididos
Este programa ejecutable divide una línea y suma todos los números en un bucle.
La cadena está definida directamente en el código para que el programa se ejecute sin entrada, pero puede sustituirla por br.readLine() para utilizar la consola de verdad.
public class Main {
public static void main(String[] args) {
String line = "5 8 2 10";
String[] parts = line.split(" ");
int sum = 0;
for (String p : parts) {
sum += Integer.parseInt(p);
}
System.out.println("Sum: " + sum);
}
}La entrada incorrecta provoca una excepción
Si el texto no es un número válido, como "hello" o una cadena vacía, parseInt lanza una NumberFormatException.
Puede evitar este problema con un bloque try/catch, de modo que el programa no se bloquee ante una entrada incorrecta.
try {
int n = Integer.parseInt("hello");
} catch (NumberFormatException e) {
System.out.println("Not a number!");
}Análisis seguro en acción
A continuación se muestra un programa ejecutable que gestiona la entrada incorrecta correctamente en lugar de bloquearse.
El bloque catch imprime un mensaje claro cuando el texto no se puede convertir en un número.
public class Main {
public static void main(String[] args) {
String input = "12x";
try {
int n = Integer.parseInt(input);
System.out.println(n);
} catch (NumberFormatException e) {
System.out.println("Invalid number: " + input);
}
}
}Lista de comprobación del análisis
Al convertir la entrada en números:
Integer.parseIntpara números enteros yDouble.parseDoublepara decimales.- Elimine primero los espacios sobrantes con
trim(). - Use
split(" ")para varios números en una línea. - Envuélvalo en un bloque
try/catchcomo medida de seguridad.
Comprobación rápida
Considere qué sucede cuando el análisis falla.
Repaso
Ha aprendido que las líneas de entrada son cadenas, que se analizan con Integer.parseInt o Double.parseDouble. Ha utilizado trim() y split(" "), y ha capturado NumberFormatException como medida de seguridad.
A continuación: cómo cerrar correctamente los flujos.
Preguntas frecuentes
¿La lección «Análisis de números de la entrada» es gratis?
Sí — el texto completo de «Análisis de números de la entrada» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Java Academy, actualiza a CoddyKit PRO. El curso de Java Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Análisis de números de la entrada»?
Convierta texto en números Practicas Java Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Java Academy?
No se requiere experiencia previa. Java Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Análisis de números de la entrada»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Java Academy?
Sí. Cada lección de Java Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Por qué BufferedReader
- Lectura de líneas
- Análisis de números de la entrada
- Cierre seguro de streams