У меня есть строковый ввод из JTextField, он должен быть дробным вводом с числами, разделенными одним «/».Использование try-catch для улавливания ввода строк из JTextField в Java
Мне нужно выбросить ошибку, когда пользователь вводит строку неправильно; пока я могу сопоставить шаблон, но исключение не будет выбрано. Не знаю, что я делаю неправильно, или если есть более простой способ сделать это (хотя мне нужно использовать try-catch);
public void setInputData(String strFrac1, String strFrac2, String oper)
{
String test1, test2;
test1 = strFrac1;
test2 = strFrac2;
try
{
test1.matches("(d+)(p/)(d+)");
}
catch (NumberFormatException e)
{
JOptionPane.showMessageDialog(null, e.getMessage(), "ALERT!", JOptionPane.ERROR_MESSAGE);
}
String[] fraction2 = strFrac2.split("/");
String[] fraction1 = strFrac1.split("/");
//This will fill up a single array with the numbers and operators we need to use
for (int i = 0 ; i <= 1; i++)
{
fractions[i] = fraction1[i];
if (i == 0 || i == 1)
{
fractions[i + 2] = fraction2[i];
}
}
fractions[4] = oper;
return();
}
Я использую неправильный улавливатель?