判断两个字符串是否为字母异位词的Java程序
1 说明
如果两个字符串包含相同的字符,但字符的顺序或顺序可以不同则称它们为字母异位词。
在此程序中,我们的任务是检查两个是否为字母异位词的字符串。为此,我们正在采用一种更简单的方法。
首先,比较字符串的长度,如果它们的长度不相等,则打印错误消息并退出,否则,将字符串转换为小写以便于比较。使用冒泡排序或其他排序方法对两个字符串进行排序。如果在排序后发现字符串相同,则打印该字符串为字母异位词,否则打印该字符串不是字母异位词。
2 算法思路
- 步骤1:开始
- 步骤2:定义str1 =“ Brag”,str2 =“ Grab”。
- 步骤3:将str1,str2转换为小写。
- 步骤4:如果str1,str2的长度不相等,则打印“ Not Anagram”,
否则转到步骤5 - 步骤5:将 str1,str2转换为字符数组。
- 步骤6:对阵列进行排序。
- 步骤7:比较数组,如果等于则打印“ Anagram”
否则
打印PRINT“ Not Anagram” - 步骤8:结束
3 程序实现
/**
* 一点教程网: http://www.yiidian.com
*/
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
热门文章
优秀文章