and check each substring (The stuff between every hyphen. All hyphens are destroyed. Sorry if you had an attachment to them or something...) to see if it equals "and". I'm going off the rule that every "and" does not deserve to be capitalized.

And your capitalize method is pretty long because Strings are immutable and it's hard to manipulate stuff that cannot be manipulated.

THERE! You now have your selective capitalizer... thingy.
DISCLAIMER! I have NOT tested any of this code at all. Some of it I just found on a Javadoc and put in here.