0Pricing
Java Academy · Lección

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.parseInt para números enteros y Double.parseDouble para decimales.
  • Elimine primero los espacios sobrantes con trim().
  • Use split(" ") para varios números en una línea.
  • Envuélvalo en un bloque try/catch como 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

  1. Por qué BufferedReader
  2. Lectura de líneas
  3. Análisis de números de la entrada
  4. Cierre seguro de streams
← Volver a Java Academy