Learning new things from new languages is fascinating. Trying to apply this knowledge in the language you know doesn’t always go so well though. What happens if you give isNumber a really really long string? Stack overflow :-/ Recursion is not one of Java’s strengths.
If you want a really fast isNumber and you’re only looking for chars ‘0’ thru ‘9', have a look at ERXStringUtilities.luhnCheck. Treating your chars as ints is the fastest way I’ve found to determine isNumber. It is orders of magnitude faster than Character.isDigit. On Nov 12, 2014, at 4:32 AM, Theodore Petrosky <tedp...@yahoo.com> wrote: > I am trying like mad to learn more. So I have decided to put time into > Recursive algorithms. I do not want to start a conversation whether or not > one should or should not use recursion in this example. That is a > conversation for another day. I don’t believe that using it here will impact > the app at all. > > As an experiment I am trying to use one in my validation method. Would one of > you great minds take a look at this. It works, but I feel I am jumping > through too many hoops. This is my first attempt so have a little pity: > > > public String validateHeight(String value) throws ValidationException { > value = value.trim(); > > if (!isNumber(value)) { > throw new ValidationException("There can be only > numbers in the Height field! (value was " + value +")"); > } > return value; > } > > private boolean isNumber(String stringToCheck) { > if (stringToCheck.length() == 0) return true; > if (!Character.isDigit(stringToCheck.charAt(0))) return false; > return isNumber(stringToCheck.substring(1, > stringToCheck.length())); > } > > > My desire is to get better at this and learning recursion is very important. > Also, when I look at other people’s code, there are times that there are > recursive calls and I struggle to understand them. _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com