Anagram Check in Java

Check whether two strings are anagrams of each other.

IntermediateModule 4: String ProgramsExample 8 of 25
anagram-check.java
1import java.util.Arrays;
2import java.util.Scanner;
3
4public class Main {
5 public static void main(String[] args) {
6 Scanner sc = new Scanner(System.in);
7 System.out.print("Enter first string: ");
8 String s1 = sc.nextLine().replaceAll("\\s+", "").toLowerCase();
9 System.out.print("Enter second string: ");
10 String s2 = sc.nextLine().replaceAll("\\s+", "").toLowerCase();
11
12 if (s1.length() != s2.length()) {
13 System.out.println("Not Anagram");
14 } else {
15 char[] a1 = s1.toCharArray();
16 char[] a2 = s2.toCharArray();
17 Arrays.sort(a1);
18 Arrays.sort(a2);
19 if (Arrays.equals(a1, a2)) {
20 System.out.println("Anagram");
21 } else {
22 System.out.println("Not Anagram");
23 }
24 }
25 sc.close();
26 }
27}

Output

Enter first string: listen
Enter second string: silent
Anagram

What's going on

We normalize, sort characters of both strings, and compare arrays.