
public class Anagrams {

    public static void main(String[] args) {
        System.out.println("bear and bare are anagrams: " + areAnagrams("bear", "bare"));
        System.out.println("sail and sale are anagrams: " + areAnagrams("sail", "sale"));
        System.out.println("(empty String) and  (empty String) are anagrams: " + areAnagrams("", ""));
        System.out.println("god and dog are anagrams: " + areAnagrams("god", "dog"));
        System.out.println("study and dusty are anagrams: " + areAnagrams("study", "dusty"));
        System.out.println("computers and computing are anagrams: " + areAnagrams("computers", "computing"));
    }
    
    // s1 and s2 only contain letters.
    // upper and lower case letters can match
    public static boolean areAnagrams(String s1, String s2){
        boolean anagrams = true;
        if( s1.length() != s2.length() ){
            anagrams = false;
        } else {
            char[] a1 = s1.toCharArray();
            char[] a2 = s2.toCharArray();
            int indexInA1 = 0;
            int indexInA2;
            boolean matchInA2;
            while( anagrams && indexInA1 < a1.length){
                matchInA2 = false;
                indexInA2 = 0;
                while( !matchInA2 && indexInA2 < a2.length){
                    if( a1[indexInA1] == a2[indexInA2]){
                        matchInA2 = true;
                        a2[indexInA2] = '-';
                    } else {
                        indexInA2++;
                    }
                }
                anagrams = matchInA2;
                indexInA1++;
            }
        }
        return anagrams;
    }


}
