Check Input Strings Are Anagram or Not Example in Java
On this page (9sections)
Introduction
Check Input Strings are Anagram or Not is a classic Java console program that demonstrates the concept with complete source code and sample output. Strings are immutable objects in Java; the examples show comparison, searching and transformation.
This tutorial walks through the program line by line, explains how the logic works, and highlights best practices you can apply in your own code.
Definition
A string is traditionally a sequence of characters, either as a literal constant or as some kind of variable. The latter may allow its elements to be mutated and the length changed, or it may be fixed (after creation). A string is generally understood as a data type and is often implemented as an array of bytes (or words) that stores a sequence of elements. A string may also denote more general arrays or other sequences (or list) data types and structures.
Check Anagram Example Program
import java.util.Arrays;
import java.util.Scanner;
class CheckAnagramExample {
public static void main(String[] args) {
System.out.println("Enter the 2 strings to check Anagram : ");
Scanner scanner = new Scanner(System.in);
String sentence1 = scanner.nextLine();//Getting input sentence 1
String sentence2 = scanner.nextLine();//Getting input sentence 2
if (sentence1.replaceAll(" ", "").length() == sentence1.replaceAll(" ", "").length()) {
char[] characterArray1 = sentence1.toLowerCase().toCharArray(); //Converting string to character array
char[] characterArray2 = sentence2.toLowerCase().toCharArray();//Converting string to character array
Arrays.sort(characterArray1);//Sorting array
Arrays.sort(characterArray2);//Sorting array
if (Arrays.equals(characterArray1, characterArray2)) {
System.out.println("The input strings are Anagram");
} else {
System.out.println("The input strings are not Anagram");
}
} else {
System.out.println("The input strings are not Anagram");
}
}
}
Sample Output
Enter the 2 strings to check Anagram :
Debit card
Bad credit
The input strings are Anagram
When to use
Use string manipulation when cleaning user input, parsing text files or formatting messages.
How it works
-
Execution begins in the
mainmethod — the JVM calls this method when you run the class. -
import java.util.Arrays;imports a class used later in the program. -
import java.util.Scanner;imports a class used later in the program. -
A
println/printcall writes text to the console — part of the sample output below. -
A
Scannerreads typed input from the keyboard (System.in). -
String sentence1 = scanner.nextLine();//Getting input sentence 1updates a variable used in the calculation or output. -
String sentence2 = scanner.nextLine();//Getting input sentence 2updates a variable used in the calculation or output. -
The
ifstatement runs the nested code only when the condition is true.
Best Practices
- Use meaningful variable and class names that describe their purpose.
- Compile and run the program locally — modify values to see how output changes.
- Read compiler errors carefully; they usually point to the exact line to fix.
Common Mistakes
- Copying code without understanding each line — practice by changing one statement at a time.
- Mismatching the public class name and the
.javafilename. - Forgetting semicolons at the end of statements.