Testando o tipo de entrada

2 respostas
L

Ola!

Talvez a dúvida seja muito boba… hehehe mas eu nao sei mesmo.
Quero fazer um teste com o valor de entrada para descobrir se o valor é double, int ou string.
O problema é o seguinte: o usuario pode entrar em uma linha de comando qualquer um dos tipos de valor (String, inteiro ou ponto flutuante), estou usando a classe scanner para capturar o valor de entrada, mas antes de utilizar o next.Int() eu teria que saber qual o tipo do valor de entrada digitado na linha de comando atravez de um teste logico que me possibilite chamar os metodos corretos de acordo com o tipo de entrada.
Alguem pode me ajudar ?
[color=“red”]Desde ja muito grato.[/color] :slight_smile:

2 Respostas

C

todas as entradas sao via String, tu pode usar os métodos XXX.parse… das classes Wrappes pra fazer isso!

_
String seunumero;
try {
  int numero = Integer.parseInt(seunumero);
  System.out.println("é um int: " + numero);
} catch (NumberFormatException nfe) {
  System.out.println("não é um int!");
}
try {
  double numero = Double.parseDouble(seunumero);
  System.out.println("é um double: " + numero);
} catch (NumberFormatException nfe) {
  System.out.println("não é um double");
}

Se precisar, faça isso para outras wrappers… Float…Long…Short…

Criado 18 de janeiro de 2007
Ultima resposta 18 de jan. de 2007
Respostas 2
Participantes 3