java - 在字符串中按字母顺序对字符进行排序

标签 java arrays string sorting char

smb 能否解释一下 String 按字母顺序排序的过程?例如,如果我有 String "hello" 输出应该是 "ehllo" 但我的代码做错了。

public static void main(String[] args)
    {
        String result = "";
        Scanner kbd = new Scanner(System.in);
        String input = kbd.nextLine();

        for(int i = 1; i < input.length(); i++)
        {
            if(input.charAt(i-1) < input.charAt(i))
                result += input.charAt(i-1);
            //else 
            //  result += input.charAt(i);
        }
        System.out.println(result);
    }


}

最佳答案

你可以做以下事情-

1. 将您的字符串转换为 char[] 数组。
2. 使用Arrays.sort() 对您的字符数组进行排序

代码片段:

String input = "hello";
char[] charArray = input.toCharArray();
Arrays.sort(charArray);
String sortedString = new String(charArray);
System.out.println(sortedString);  

或者,如果您想使用 for 循环对数组进行排序(出于学习目的),您可以使用(但我认为第一个是最好的选择)以下代码片段 -

input="hello";
char[] charArray = input.toCharArray();
length = charArray.length();

for(int i=0;i<length;i++){
   for(int j=i+1;j<length;j++){
      if (charArray[j] < charArray[i]) {
          char temp = charArray[i];
          charArray[i]=arr[j];
          charArray[j]=temp;
      }
   }
}

关于java - 在字符串中按字母顺序对字符进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30199304/

相关文章:

c++ - 如何在 C++11 中将 u32string 转换为 int?

java - 如何使用 doCatch 在 Apache Camel 中出错后移动文件

Java - 处理外来字符

java - Google Guice 独立批处理中的 JSR-352

mysql - Rails 使用连接表将数组参数存储在不同的行中

C++字符串数组char问题

python - 计算行数并根据字符串 [with str.contains] 在 python 中的位置创建标签列

java - 选择性复制maven资源

c - 将数据放入字符串数组时出错

c - C 中的指针问题,找不到我的错误