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

Reply via email to