我需要编写一个具有两个功能的Java程序:
对于功能#2:
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class AnagramChecker {
public static boolean isAnagram(String str1, String str2) {
if(str1.length() != str2.length()) {
return false;
}
str1 = str1.toLowerCase();
str2 = str2.toLowerCase();
char[] charArray1 = str1.toCharArray();
char[] charArray2 = str2.toCharArray();
Arrays.sort(charArray1);
Arrays.sort(charArray2);
return Arrays.equals(charArray1, charArray2);
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
}
}
如何实施
getAllAnagrams
?预先感谢。
我假设在
isAnagram("silent", "listen")
和 isAnagram("silent", "lentis")
之后 getAllAnagrams("lentis")
也应该返回 ["listen", "silent"]
我建议采用以下方法:
getAllAnagrams(someString)
再次使用排序后的字符串作为键并返回集合的内容(似乎不包含 someString)祝你作业顺利