A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© JRT 中级黑马   /  2015-4-21 16:58  /  678 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*问题描述
Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的。
例如,“Unclear”和“Nuclear”、“Rimon”和“MinOR”都是Anagrams。编写一个程序,输入两个单词,然后判断一下,
这两个单词是否是Anagrams。每一个单词的长度不会超过80个字符,而且是大小写无关的。
输入格式:输入有两行,分别为两个单词。
输出格式:输出只有一个字母Y或N,分别表示Yes和No。
输入输出样例
样例输入
Unclear
Nuclear
样例输出
Y
分析:先把字符串转成小写,便于排序
        转成字符数组,然后按字符顺序排序,
       排序后的结果以字符数组或字符串返回
*/
import java.util.Scanner;

public class SfDome3 {

        public static void main(String[] args) {
              Scanner sc=new Scanner(System.in);
              String str=sc.nextLine();
              String str1=sc.nextLine();
         boolean f=isAnagrams(str, str1);
         if(f==true){
                 System.out.println("Y");
         }else{
                 System.out.println("NO");
         }
        }
        //判断
        /*方法二:
         * public static boolean isAnagrams(String str,String str1){
                char[] ch=proStr(str.trim());
                char[] ch1=proStr(str1.trim());
                for(int i=0;i<ch.length;i++){
                        if(ch[i]!=ch1[i]){
                                return false;
                        }
                }
                return true;
        }
        //jdk1.7新特性
        public static char[] proStr(String str){
                //转小写
        str=str.toLowerCase();
                //转数组
                char[] ch=str.toCharArray();
                //按字母顺序排序
                for(int i=0;i<ch.length-1;i++){
                        for(int j=0;j<ch.length-1;j++){
                           if(ch[j]>ch[j+1]){
                                   char k=ch[j];
                                   ch[j]=ch[j+1];
                                   ch[j+1]=k;
                           }       
                        }
                }
                return ch;
        }*/
        /*方法一*/
        //判断
                public static boolean isAnagrams(String str,String str1){
                           if(proStr(str.trim()).equals(proStr(str1.trim()))){
                                   return true;
                           }
                           return false;
                }
                public static String proStr(String str){
                        //转小写
                        str=str.toLowerCase();
                        //转数组
                        char[] ch=str.toCharArray();
                        //按字母顺序排序
                        for(int i=0;i<ch.length-1;i++){
                                for(int j=0;j<ch.length-1;j++){
                                   if(ch[j]>ch[j+1]){
                                           char k=ch[j];
                                           ch[j]=ch[j+1];
                                           ch[j+1]=k;
                                   }       
                                }
                        }
                        return new String(ch);
                }
}

评分

参与人数 1技术分 +2 收起 理由
lwj123 + 2 个人建议:最好选择编辑器中的代码来显示你.

查看全部评分

3 个回复

倒序浏览
我从IDE中拷贝过来就成上面的样子了
回复 使用道具 举报
一起交流!楼主给咱们提供机会了
回复 使用道具 举报
一起交流呗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马