判断两个字符串是否为字母异位词的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

 

热门文章

优秀文章