Всем привет, никак не получается создать условие ,чтобы отловить ошибку ввода в строку букв вместо цифр.
вот часть кода :
String as = JOptionPane.showInputDialog(null," Введите число");
try {
if(as == null || as.equals(""))throw new NullException();
int vc = Integer.parseInt(as);
if(as.equals("dfg"))throw new NoNumberException(); //не работает
JOptionPane.showMessageDialog(null," Спасибо");
}
catch (NullException a){
JOptionPane.showMessageDialog(null,a);
}
catch (NoNumberException a) {
JOptionPane.showMessageDialog(null,a);
}
finally {
JOptionPane.showMessageDialog(null," Программа закончена");
}
if (!as.matches("\\d+")) throw new NoNumberException(); //работает
!as.matches("\\d+") вернет вам true, если пользовательский ввод содержит любые не числовые символы.
Только эту проверку нужно делать перед Integer.parseInt(as)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей