Scannerent=newScanner(System.in);System.out.println("Digite um valor:");Stringval=ent.nextLine();
e esse valor, tenho que converter para double…
porém, como posso fazer para que, caso o valor digitado seja inválido, novamente dê a mensagem para digitar o valor, e fique aguardando?
vc pode colocar isso dentro de um “try/catch” e isto dentro de um loop qualquer… até ser válido a operação
I
iktuzPJ
booleandoAgain=true;Scannerent=newScanner(System.in);while(doAgain){System.out.println("Digite um valor:");Stringval=ent.nextLine();try{doubled=Double.parseDouble(val);doAgain=false;}catch(NunberFormatExceptione){System.out.println("damn it! valor inválido: "+val);}}
Altere o escopo das declarações, T+
V
vaninh0PJ
“julioromano”:
preciso pegar um valor, da seguinte forma:
Scannerent=newScanner(System.in);System.out.println("Digite um valor:");Stringval=ent.nextLine();
e esse valor, tenho que converter para double…
porém, como posso fazer para que, caso o valor digitado seja inválido, novamente dê a mensagem para digitar o valor, e fique aguardando?
grato
voce pode supor que o usuario sera inteligente o suficiente pra digitar somente valores double…
ficaria assim:
Scannerent=newScanner(System.in);System.out.println("Digite um valor:");Stringval=ent.nextLine();doublevalModificado=Double.parseDouble(val);
ou: (se nao me engano funciona)
Scannerent=newScanner(System.in);System.out.println("Digite um valor:");doubleval=ent.nextDouble();