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/