Я думаю, что этот код должен работать, но, на мой взгляд, установка переменной, а затем ее взлом только для того, чтобы вернуть ее, ужасны.(Я знаю других кодеров, подобных этому; ИМХО, они не правы.) Мне также не нравится вводить ненужные тестовые переменные, такие как решение NullUserException.Я бы просто вернулся напрямую.
[ РЕДАКТИРОВАТЬ : Этот код такой же, как у Брокмана]
public boolean isNumber() /* Note: returns true for empty string */
{
String newString = "crash";
for (int i=0; i<newString.length(); i++)
{
if (!Character.isDigit(newString.charAt(i)))
{
return false; /* non-digit detected */
}
}
return true; /* all characters were digits */
}