Нет, это сложный способ преобразования строки в целое число. (если это то, что вы спрашиваете)
public boolean isSolved()
{
String dig1=""+add1;
String dig2=""+add2;
String res=""+result;
try{
int i=Integer.parseInt(dig1);
int j=Integer.parseInt(dig2);
int k=Integer.parseInt(res);
if((i+j)==k) return true;
return false;
} catch {
return false;
}
}
Итак, вы можете просто обернуть это в блок try / catch,
тогда вам не нужно использовать регулярные выражения для предварительной проверки строк.
Я добавил свой дополнительный комментарий здесь: если вы собираетесь использовать это повсеместно, рефакторинг его в метод:
private boolean IsOnlyNumbers( String input ){
try{
Integer.parseInt(input);
return true;
} catch {
return false;
}
}
или, так как вам нужен номер, вы можете сделать это:
private int GetNumber( String input ){
try{
return Integer.parseInt(input);
} catch {
return -1;
}
}
и затем проверьте:
var dig1 = GetNumber(add1);
var dig2 = GetNumber(add2);
var res = GetNumber(add2);
if( dig1 > 0 && dig2 > 0 && dig3 > 0 ) return dig1+dig2 == res;