Analisando números da entrada
Converta texto em números
Analisando números da entrada é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 4 aulas no total.
As linhas são sempre cadeias de caracteres
readLine() sempre fornece uma String, mesmo quando o usuário digita 42. Para fazer cálculos, você precisa converter esse texto em um número.
Java fornece métodos auxiliares como Integer.parseInt e Double.parseDouble exatamente para isso.
Integer.parseInt
Integer.parseInt(String) converte um texto como "42" no valor int 42.
Depois de convertido, você pode somá-lo, multiplicá-lo ou compará-lo como qualquer número.
String text = "42";
int n = Integer.parseInt(text);
System.out.println(n + 1);Um exemplo executável de conversão
Aqui está um programa completo e executável que converte uma cadeia de caracteres predefinida e duplica seu valor.
Ele não lê de System.in, portanto é executado imediatamente e exibe o resultado.
public class Main {
public static void main(String[] args) {
String text = "21";
int n = Integer.parseInt(text);
System.out.println("Doubled: " + (n * 2));
}
}Ler e depois converter
O padrão real é: ler uma linha e depois convertê-la. Este programa lê um número do console e exibe seu quadrado.
Como aguarda dados em System.in, ele não pode ser executado automaticamente aqui, mas esse é o padrão usado no dia a dia.
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));
}
}Remova espaços antes de converter
Espaços supérfluos interrompem a conversão. Integer.parseInt(" 42 ") lança um erro, mas Integer.parseInt(" 42 ".trim()) funciona.
É um bom hábito chamar trim() na linha antes de convertê-la.
String raw = " 7 ";
int n = Integer.parseInt(raw.trim());
System.out.println(n);Convertendo números decimais
Para números decimais, use Double.parseDouble. Ele transforma um texto como "3.14" em um double.
Também existe Long.parseLong para números inteiros muito grandes que ultrapassam o limite de int.
public class Main {
public static void main(String[] args) {
double pi = Double.parseDouble("3.14");
System.out.println(pi * 2);
}
}Vários números em uma linha
Muitas vezes, uma linha contém vários números separados por espaços, como "10 20 30". Use split(" ") para dividi-la em um vetor de elementos String.
Depois, converta cada elemento individualmente.
String[] parts = "10 20 30".split(" ");
int a = Integer.parseInt(parts[0]);
int b = Integer.parseInt(parts[1]);
System.out.println(a + b);Somando números separados
Este programa executável divide uma linha e soma todos os números em um ciclo.
A cadeia de caracteres é predefinida para que o programa seja executado sem entrada, mas substitua-a por br.readLine() para usar o console de verdade.
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);
}
}Entradas inválidas geram erros
Se o texto não for um número válido — como "hello" ou uma cadeia vazia — parseInt lançará uma NumberFormatException.
Você pode evitar isso usando try/catch, para que o programa não trave ao receber uma entrada inválida.
try {
int n = Integer.parseInt("hello");
} catch (NumberFormatException e) {
System.out.println("Not a number!");
}Conversão segura em ação
Aqui está um programa executável que trata uma entrada inválida de forma adequada, em vez de travar.
O bloco catch exibe uma mensagem amigável quando o texto não pode ser transformado em um 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 verificação da conversão
Ao transformar entradas em números:
Integer.parseIntpara números inteiros,Double.parseDoublepara decimais.- Remova primeiro os espaços supérfluos com
trim(). - Use
split(" ")para vários números em uma linha. - Envolva a conversão em
try/catchpara ter mais segurança.
Verificação rápida
Considere o que acontece quando a análise falha.
Recapitulação
Você aprendeu que as linhas de entrada são cadeias de caracteres, convertidas com Integer.parseInt ou Double.parseDouble. Você usou trim() e split(" ") e capturou NumberFormatException por segurança.
Próximo passo: fechar os seus fluxos da maneira correta.
Perguntas Frequentes
A aula “Analisando números da entrada” é grátis?
Sim — o texto completo de “Analisando números da entrada” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 4 aulas no total.
O que vou aprender em “Analisando números da entrada”?
Converta texto em números Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Java Academy?
Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Analisando números da entrada”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Java Academy?
Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Por que usar BufferedReader
- Lendo linhas
- Analisando números da entrada
- Fechando fluxos com segurança