Java来确定两个字符串是否是字谜
如果两个字符串包含相同的字符,则它们被称为
anagram 。但是,字符的顺序或顺序可以不同。
在此程序中,我们的任务是检查两个字符串(即是否为字谜)。为此,我们正在采用一种更简单的方法。
首先,比较字符串的长度,如果它们的长度不相等,则打印错误消息并退出,否则将字符串转换为小写以便于比较。使用冒泡排序或其他排序方法对两个字符串进行排序。如果排序后发现字符串相同,则打印该字符串为字谜,否则打印该字符串不是字谜。
要进行编程,请遵循以下给出的算法:
算法
步骤1: START
步骤2: 定义str1 ="Brag",str2 ="Grab"。
步骤3: 将str1,str2转换为小写。
步骤4: 如果str1,str2的长度不相等,则打印" Not Anagram"(否则),否则转到步骤5
步骤5: 将str1,str2转换为字符数组。
步骤6: 对阵列进行排序。
步骤7: 比较数组,如果等于则打印PRINT" Anagram"
else
PRINT" Not Anagram"
步骤8: END
程序:
import java.util.Arrays;
public class Anagram {
public static void main (String [] args) {
String str1="Brag";
String str2="Grab";
//Converting both the string to lower case.
str1 = str1.toLowerCase();
str2 = str2.toLowerCase();
//Checking for the length of strings
if (str1.length() != str2.length()) {
System.out.println("Both the strings are not anagram");
}
else {
//Converting both the arrays to character array
char[] string1 = str1.toCharArray();
char[] string2 = str2.toCharArray();
//Sorting the arrays using in-built function sort ()
Arrays.sort(string1);
Arrays.sort(string2);
//Comparing both the arrays using in-built function equals ()
if(Arrays.equals(string1, string2) == true) {
System.out.println("Both the strings are anagram");
}
else {
System.out.println("Both the strings are not anagram");
}
}
}
}
输出:
Both the strings are anagram