我想在Java 8中编写一个小程序,它以反向字典顺序打印出一个字符列表。例如," stack"应该成为" tskca"。我输入了这段代码:
public static void main (String[] args) {
String input = "abc";
char[] charArray = input.toCharArray();
List<Character> charList = new ArrayList<Character>();
for (char c : charArray) {
charList.add(c);
}
System.out.println(charList.toString());
charList.sort(Collections.reverseOrder());
String output = charList.toString();
System.out.println(input);
}
输出将是:
abc
我用
尝试了 Collections.sort(charList, Collections.reverseOrder());
而不是其他排序行,结果相同。我查了类似的问题,但没有找到同样的问题。我搞砸了什么吗?
答案 0 :(得分:4)
只是一点点错误......改变
System.out.println(input);
到
System.out.println(output);
答案 1 :(得分:3)
我认为打印正确的字符串会有所帮助;)
System.out.println(output);
如果您希望它打印cba
而不是[c, b, a]
,请使用for-each
:
charList.stream().forEach(System.out::print);