有人能解释一下为什么这个用来反转字符串的Java程序不起作用吗?
我编写了一个Java程序,该程序可以反转扫描的字符串
import java.util.*;
public class ReverseString{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
System.out.println("Enter a string");
String stringtoreverse = sc.nextLine();
Reverse(stringtoreverse);
}
public static void Reverse(String s){
char a[] = s.toCharArray();
Arrays.sort(a);
String b = a.toString();
System.out.println(b);
}
}
我测试了它,这就是我得到的
Enter a string
hi
[C@757ecdf0
答案应该是“ih”。 有人能解释为什么它不能按我所希望的方式工作,以及为什么我得到那个输出吗
# 1 楼答案
要使用Arrays获取人类可读的格式,请使用:
或者更为最小的
new String(a)
数组的Java
toString()
打印[
,后跟表示数组元素类型的字符,然后是@
,然后是数组的标识哈希代码(类似于内存地址)