Boas people tou com uma duvida que é o seguinte.
Eu quero validar uma string que apenas dê para introduzir numero sejam positivos ou negativos
Codigo
for (int i=0;i<linhas;i++) {
for (int j=0;j<colunas;j++) {
do
{
numero = JOptionPane.showInputDialog(“Qual é o número?”);
if (verificacao(numero)==true) {
matriz[i][j]=Double.parseDouble(numero);
} else {
numero = JOptionPane.showInputDialog(“O que digitou é inválido! Introduza outro número?”);
}
}while(verificacao(numero)!=true);
}
Aqui, verifica se a string tem apenas os numeros de 1 a 9
private static boolean verificacao(String numero) {
char[] c = numero.toCharArray();
if (numero=="") {
return false;
}
for (int i=0; i< c.length; i++) {
if ((c[i]!=0) && (c[i]!=1) && (c[i]!=2) && (c[i]!=3) && (c[i]!=4) && (c[i]!=5) && (c[i]!=6) && (c[i]!=7) && (c[i]!=8) && (c[i]!=9)) {
return false;
}
}
return true;
}
So que dá-me sempre este erro:
Por exeplo se introduzir um “aa” na string ele diz:
Exception in thread “main” java.lang.NumberFormatException: For input string: “aa”
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at Main.menuimport(Main.java:34)
at Main.menu(Main.java:16)
at Main.main(Main.java:6)
Java Result: 1
Alguem me podes ajudar?
Agradecia
