programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
• Campbell Ritchie
• Jeanne Boyarsky
• Ron McLeod
• Paul Clapham
• Liutauras Vilda
Sheriffs:
• paul wheaton
• Rob Spoor
• Devaka Cooray
Saloon Keepers:
• Stephan van Hulst
• Tim Holloway
• Carey Brown
• Frits Walraven
• Tim Moores
Bartenders:
• Mikalai Zaikin

# Compare() - from Master Exam

Ranch Hand
Posts: 664
• Number of slices to send:
Optional 'thank-you' note:
This is from MasterExam

I am not sure what is going on in the Compare Method.
How is it doing the comparision.

Ranch Hand
Posts: 247
• Number of slices to send:
Optional 'thank-you' note:
public int compare(String s1,String s2)
{
return s2.charAt(1)-s1.charAt(1);
}

In the code above, say s1="cat", and s2="dog".
The s2.charAt(1) = 'a' and s1.charAt(1)='o'.
Therefore compare() will return the int value of 'o'-'a'.

Note that compare() does not account for when s1 or s2 or both have length 1 or 0. It should have code to take care of these situations and also when either or both of them are null.

victor kamat
Ranch Hand
Posts: 247
• Number of slices to send:
Optional 'thank-you' note:
I meant to say s1.charAt(1) = 'a' and s2.charAt(1) ='o'

Ranch Hand
Posts: 664
• Number of slices to send:
Optional 'thank-you' note:
So that means its comparing the three words in (reverse of )Alphabetical order based on the second letter as its
s2.charAt(1) -s1.charAt(1)
and not
s1.charAt(1) -s2.charAt(1).

Right?

victor kamat
Ranch Hand
Posts: 247
• Number of slices to send:
Optional 'thank-you' note:
Right