Java程序,用于检查两个字符串是否是一个字谜。

根据Wiki,“字谜是通过重新排列不同单词或短语的字母而形成的单词或短语,通常只使用所有原始字母一次。”

为了比较两个字符串是否是字谜,请检查它们的长度是否相等?如果是这样,则将这两个字符串转换为字符数组,然后对它们进行排序,并使用sort()Arrays类的方法进行比较,如果两者相等,则给定两个字符串为字谜。

示例

import java.util.Arrays;
public class AnagramSample  {
   public static void main(String args[]) {
      String str1 = "recitals";
      String str2 = "articles";

      if (str1.length()==str2.length()) {
         char[] arr1 = str1.toCharArray();
         Arrays.sort(arr1);
         System.out.println(Arrays.toString(arr1));
         char[] arr2 = str2.toCharArray();
         Arrays.sort(arr2);
         System.out.println(Arrays.toString(arr2));
         System.out.println(Arrays.equals(arr1, arr2));
         if(arr1.equals(arr2)) {
            System.out.println("Given strings are anagrams");
         } else {
            System.out.println("Given strings are not anagrams");
         }
      }
   }
}

输出结果

[a, c, e, i, l, r, s, t]
[a, c, e, i, l, r, s, t]
true
Given strings are not anagrams