• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag
 

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: little off topic, need help understand a recursive call
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: little off topic, need help understand a recursive call


  • Subject: Re: little off topic, need help understand a recursive call
  • From: Ramsey Gurley <email@hidden>
  • Date: Wed, 12 Nov 2014 09:45:34 -0700

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 <email@hidden> 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      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


References: 
 >little off topic, need help understand a recursive call (From: Theodore Petrosky <email@hidden>)

  • Prev by Date: Re: My d2w edit page fields are disabled
  • Next by Date: WOCommunity maven repository down?
  • Previous by thread: little off topic, need help understand a recursive call
  • Next by thread: My d2w edit page fields are disabled
  • Index(es):
    • Date
    • Thread