Boa tarde pessoal, sou novato em programação, estou desenvolvendo um pequeno programa para realizar alguns calculos, cirei as variaveis e gostaria de saber como faço para que o usuario entre somente com numeros e caso ele entre com STRING emitir uma mensagem de erro falando que aceita somente numeros ?
Abaixo segue o código
package casos.especiais.terreno;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class ApuracaoDoValor {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" ********************************************************************");
System.out.println(" <em>— TRABALHO ELABORADO POR: —</em>");
System.out.println(" <em>— RODOLFO CAVALCANTE SILVA E SILVA —</em>");
System.out.println(" <em>— JOSÉ MAURO DIAS NASCIMENTO —</em>");
System.out.println(" ********************************************************************");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println("");
// Valor Venal do Terreno
String Vtt;
// Área do terreno
double at;
// Valor do metro quadrado por padrao de rua
double vm;
// Fator de influencia da situação do terreno
double fst;
// Fator de influencia de esquina ou numero de testada
double fet;
// Fator de influencia de caraciterística do terrreno
double fct;
// Fator geometrico
double fge;
// Fator gleba
double fgl;
// Fator de melhorias publicas
double fmp;
// Fator de depriciação em função da área de tombamento
double fdat;
double calc1;
System.out.println(" --- Esta etapa irá ser calculada o VALOR VENAL DO TERRENO --- ");
System.out.println("");
System.out.println("---A fórmula é: ---");
System.out.println("");
System.out.println("************************************************************");
System.out.println("* VVT = At x Vm x Fst x Fet x Fct x Fge x Fgl x Fmp x Fdat *");
System.out.println("************************************************************");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Insira o alor de At: ");
at = scan.nextDouble();
if(!at.matches("[0-9]*")) {
JOptionPane.showMessageDialog(null, " Voce nao pode digitar caracteres aqui, somente numeros! Digite novamente...");
return;
}
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Insira o valor de Vm: ");
vm = scan.nextDouble();
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Inira o valor de Fst: ");
fst = scan.nextDouble();
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Insira o valor de Fet: ");
System.out.print("");fet = scan.nextDouble();
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Insira o valor de Fct: ");
System.out.print("");fct = scan.nextDouble();
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Insir o valor de Fge: ");
fge = scan.nextDouble();
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Insira o valor de Fgl: ");
fgl = scan.nextDouble();
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Insira o valor de Fmp: ");
fmp = scan.nextDouble();
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Insira o valor de Fdap");
fdat = scan.nextDouble();
System.out.println("");
System.out.println("");
calc1 = at * vm * fst * fet * fct * fge * fgl * fmp * fdat;
System.out.println("");
System.out.println("");
System.out.println("****************************************");
System.out.printf("O valor venal do terreno é %.2f%n", calc1);
System.out.println("****************************************");
System.out.println("");
System.out.println("");
System.out.println("");
//--------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------
// Valor Venal da Edificação
String vve;
// Área da Edificação
double ae;
/*
* Valor unitário M2 da construção obtido pela análise do tipo da edificação e o
* érfil de acabamento conforme registrado no cadastro imobiliário, com o
* enquadramento nas tabelas 8 e 12
*/
double vu;
// Fator de localização
double fl;
// Fator Obsolescência
double fo;
// Fator de depreciação em função da área tombada
double fdatt;
double calc;
double resultado;
System.out.println("--- Esta fórmula ira calcular o VALOR VENAL DA EDIFICACAO: ---");
System.out.println("");
System.out.println("--- A fórmula é: ---");
System.out.println("");
System.out.println("");
System.out.println(" *****************************");
System.out.println(" * VVE = Ae x Vu x Fl x Fdat *");
System.out.println(" *****************************");
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Insira o valor de Ae: ");
System.out.print("");
ae = scan.nextDouble();
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Insira o valor de Vu");
System.out.print("");
vu = scan.nextDouble();
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Insira o valor de Fl");
System.out.print("");
fl = scan.nextDouble();
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Insira o valor de Fo");
System.out.print("");
fo = scan.nextDouble();
System.out.println("");
System.out.println("");
System.out.println("");
System.out.println(" Insira o valor de Fdat");
System.out.print("");
fdatt = scan.nextDouble();
System.out.println("");
System.out.println("");
calc = ae * vu * fl * fo * fdatt;
resultado = calc1 + calc;
// calc = calc *0.70;
// calc = calc *1;
System.out.println("");
System.out.printf("O valor do calculo é %.2f%n", resultado);
System.out.println("");
System.out.println("--- Pressione a tecla R para recomecar o programa ---");
if (scan.next() == "R") {
main(args);
System.out.println("R pressionado");
} else {
System.out.println("");
System.out.println("");
System.out.println("--- Voce nao pressionou a letra R");
System.exit(0);
}
System.out.println("Fim do programa");
}
}
