Porém, notamos que as caixas de diálogos fazem tudo isso através do tipo String.
Mas palma, palma, palma. Não criemos cânico. Pois podemos transformar o que foi digitado como string em inteiro, float, double...
Transformando string em inteiro em Java
Ok. O usuário pediu, mas este foi armazenado numa String 'numeroString'.
Para passar essa string para inteiro, vamos usar o método da classe String chamado parseInt, da classe estática Integer.
Suponha que vamos armazenar esse valor inteiro em 'numInteiro', ficaria assim:
numInteiro = Integer.parseInt(numeroString);
Como exemplo, vamos criar um aplicativo que peça dois inteiros ao usuário e mostre a soma como resultado:
import javax.swing.JOptionPane;
public class somaGrafica {
public static void main(String[] args){
String valor, resultado;
int num1, num2;
valor = JOptionPane.showInputDialog("Digite o primeiro valor inteiro");
num1 = Integer.parseInt(valor.trim());
valor = JOptionPane.showInputDialog("Digite o segundo valor inteiro");
num2 = Integer.parseInt(valor.trim());
resultado=String.format("Resultado: %d", num1+num2);
JOptionPane.showMessageDialog(null,resultado);
}
}
A maioria dos cursos, tutoriais e livros por aí simplesmente se daria por satisfeito em ensinar como:
num1 = Integer.parseInt(valor);
Sem esse '.trim()'
Faça um teste. Digite '1 ', isso mesmo, com um espaço antes ou depois.
Você terá um baita erro. E aí?
'Que programa ruim!'
Pensaria qualquer usuário que, sem querer, colocasse um espaço e visse essa mensagem de erro.
O curso Java Progressivo tem por objetivo ensinar você a criar aplicações reais, coisas que aprendi na prática e nenhum site me disse nem vi nos livros.
Esse '.trim()' retira os espaços de uma string, pois ESPAÇOS NÃO INTERESSAM EM UM NÚMERO!
Com o .trim() você deixa seu aplicativo mais robusto, à prova de bobagens dos usuários! E acredite, eles são bem criativos!
Transformando string em float
numFloat = Float.parseFloat(numeroString);Transformando string em double
numDouble = Double.parseDouble(numeroString);Exercício:
Propus e fiz um aplicativo que recebe os coeficientes de uma equação do segundo grau e retorna suas raízes, até as complexas, confira:http://www.javaprogressivo.net/2012/08/aplicativo-determina-as-raizes-de-uma.html
Depois propus, nos exercícios de métodos, que fizesse o mesmo, mas quebrando ele em métodos, pra ficar reutilizável:
http://www.javaprogressivo.net/2012/09/questoes-envolvendo-metodos-java.html
Agora faça o mesmo. Um programa que receba os coeficientes de uma equação do segundo grau e retorne suas raízes, mesmo as complexas, mas através de caixas de diálogos.
Note que esse é realmente um programa útil.
Na próxima seção vamos ensinar como fazer seus aplicativos se tornarem 'executáveis' para que você possa mandar programas (gráficos, claro) para seus amigos!