这是一个字谜程序,忽略大小写

时间:2019-07-05 15:29:46

标签: java arrays

字谜程序

        int len1 = a.length();
        int len2 = b.length();
        char[] arr1 = a.toCharArray();
        char[] arr2 = b.toCharArray();
        Arrays.sort(arr1);
        Arrays.sort(arr2);

        if (String.valueOf(arr1).equalsIgnoreCase(String.valueOf(arr2))) {
            return true;
        }

        return false;
    }

结果 输入 字符串1 =你好 String2 =你好 但我的结果显示没有字谜 我要打印它必须要字谜

我的屏幕截图: https://imgur.com/74VarZh

2 个答案:

答案 0 :(得分:1)

您的问题是,您在char[]上进行排序而不忽略大小写,Hellohello的排序不同。

Hello将被排序为Hello

hello将被排序为ehllo

要解决此问题,您可以先将String的值设置为小写,然后再通过以下操作将其转换为数组:

a = a.toLowerCase();
b = b.toLowerCase();
char[] arr1 = a.toCharArray();
char[] arr2 = b.toCharArray();

答案 1 :(得分:0)

虽然我同意Nexevis在比较它们之前将字符串设置为小写的方法,但作为一点有用的知识,也许知道大写和小写ASCII字符总是分开32个会有所帮助。