编写一个java程序,从键盘接收一个字符串,然后按照字符顺序从小到大进行排序,并删除重复的字符。 【输入形式】从键盘输入一个字符串,以回车结束输入。要求程序可以处理含有空格的字符串。 【输出形式】程序接收此字符串,然后将其按照字符ASCII码值从小到大的顺序进行排序,并删除重复的字符输出。如果字符串为空,输出也应该为空。 【样例输入】badacgegfacb 【样例输出】abcdefg 【样例说明】输入badacgegfacb,然后排序、删除重复字符得到abcdefg。
时间: 2024-03-14 07:47:00 浏览: 92
好的,这是一个字符串排序并删除重复字符的问题,我来编写一个Java程序来解决它:
```java
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
char[] chars = str.toCharArray();
Arrays.sort(chars);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < chars.length; i++) {
if (i == 0 || chars[i] != chars[i - 1]) {
sb.append(chars[i]);
}
}
System.out.println(sb.toString());
}
}
```
这个程序中,我们首先使用Scanner从控制台输入一个字符串,然后将其转换为字符数组。接着,我们使用Arrays.sort函数按照字符的ASCII码值从小到大对字符数组进行排序。最后,我们使用StringBuilder来构造一个新的字符串,遍历排好序的字符数组,如果当前字符与前一个字符不同,就将其添加到StringBuilder中,这样就实现了删除重复字符的功能。最终,我们输出StringBuilder中的字符串即可。
运行这个程序,输入badacgegfacb,得到的输出是:
```
abcdefg
```
说明输入字符串经过排序和去重后得到了abcdefg。
阅读全文
相关推荐

















