(变位词)的操作



题意:编写一个方法,检测两个单词是否互为变位词。如果在不记顺序的情况下两个单词包含完全相同的字母,则称这两个单词互为变位词(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中字符串排序的

 



posted @ 2015-06-03 23:01  wojiaohuangyu  阅读(11)  评论(0)    收藏  举报