Como fazer o Scan (read.nextInt) aceitar só 2 digitos!

3 respostas
Maicon_Henrrique

Por exemplo queria que o codigo a seguir só aceitasse a entrada pelo teclado de no maximo 2 digitos

System.out.print ("Escreva sua idade: "); idade = read.nextInt();

A pessoa poderia colocar por exemplo, 154545
Eu queria limitar até 99
Obrigado

3 Respostas

Andre_Rosa

Eu nunca precisei fazer isso, e portanto não sei se há uma forma exata de faze-lo. Mas você poderia receber essa idade como uma string, e pegar só os dois primeiros elementos:

Scanner in = new Scanner(System.in); System.out.print("Idade: "); String str = in.nextLine(); str = str[0]+str[1]; // Pega os dois primeiros números int idade = (int) str; // Casting

ViniGodoy

Não tem como fazer. Você pode ignorar o resto, como o André falou.

Outra coisa, não use métodos diferentes do nextLine() para ler do console com a classe Scanner, ou você poderá ter problemas em algumas das leituras.

pmlm

O que podes fazer é um ciclo até a idade ser menor do que 100

do {

    ... //o teu codigo atual para pedir a idade


    if (idade > 99){
        System.out.println("A idade deve ser menor que 100");
    }

} while (idade > 99);
Criado 19 de junho de 2011
Ultima resposta 19 de jun. de 2011
Respostas 3
Participantes 4