程序对字符串进行排序

时间:2018-09-24 15:09:01

标签: string sorting

我要对字符串s =“ eBaDcAfg153E”进行排序,以使排序后的字符串先包含所有小写字母,然后包含大写字母,然后包含数字。

输出应类似于s =“ acefgABDE135”

有人可以帮我吗?

谢谢

1 个答案:

答案 0 :(得分:0)

欢迎来到stackoverflow!

阅读how to ask good question,首先尝试解决,如果失败,则首先通过Google搜索。如果找不到答案,您可能会问。

此解决方案可能对您有用(仅用于测试)。您仍然可以对其进行很多改进。 使用StringBuilder进行字符串修改。

public static void main (String[] args) throws java.lang.Exception
        {
            String inputString = "eBaDcAfg153E";
            String lowerCase = "";
            String upperCase = "";
            String numberCase = "";

            for (int i = 0; i < inputString.length(); i++) {
               char c = inputString.charAt(i);
               if(Character.isUpperCase(c)) {
                   upperCase += c;
               }else if (Character.isLowerCase(c)) {
                   lowerCase += c;
               }else if(Character.isDigit(c)) {
                   numberCase += c;
               }

            }
            char upperArray[] = upperCase.toCharArray(); 
            char lowerArray[] = lowerCase.toCharArray(); 
            char numArray[] = numberCase.toCharArray(); 

            Arrays.sort(upperArray);
            Arrays.sort(lowerArray);
            Arrays.sort(numArray);

            System.out.println(new String(lowerArray)+""+new String(upperArray)+""+new String(numArray));
        }