(变位词)的操作
题意:编写一个方法,检测两个单词是否互为变位词。如果在不记顺序的情况下两个单词包含完全相同的字母,则称这两个单词互为变位词(anagram)。
import java.util.Arrays;
import java.util.Scanner;
public class E9_11{
// public static void main(String[] args){
// Scanner input = new Scanner(System.in);
// System.out.println("Enter a string : ");
// String s = input.nextLine();
// System.out.println("After sort string:" + charSort(s));
// }
public static String sort(String s){
char[] str = s.toCharArray();
int i,j;
// char ch;
Arrays.sort(str);
// for(i = 0;i < s.length();i++){
// for(j = 0;j < s.length();j++){
// if(str[i] > str[j]){
// ch = str[i];
// str[i] = str[j];
// str[j] = ch;
// }
// }
// }
return new String(str);
}
}
<pre name="code" class="java">import java.io.PrintStream;
import java.util.Scanner;
public class E9_12 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("Enter the first string: ");
String first = input.nextLine();
System.out.println("Enter the second string: ");
String second = input.nextLine();
System.out.println(first + " and " + second + " is " + ((isAnagram(first,second)) ? "anagram." : "not anagram."));
}
public static boolean isAnagram(String first,String second){
String newS1 = E9_11.sort(first);
String newS2 = E9_11.sort(second);
// System.out.println(newS1);
// System.out.println(newS2);
if(newS1.length() != newS2.length())
return false;
for(int i = 0;i < newS1.length();++i){
if(newS1.charAt(i) != newS2.charAt(i))
return false;
}
return true;
}
}
java中字符串排序的

浙公网安备 33010602011771号