Java 向后返回用户输入,例如,Laura将作为aruaL返回

Java 向后返回用户输入,例如,Laura将作为aruaL返回,java,arrays,string,char,Java,Arrays,String,Char,在这个程序中,我试图返回用户的输入 e、 劳拉会以阿鲁亚尔的身份返回,但我得到了[C@11d72ca作为我的输出 String input = JOptionPane.showInputDialog("Enter name"); Scanner scanner = new Scanner(input); String name = scanner.next(); scanner.close(); char[] backwards = new char[n

在这个程序中,我试图返回用户的输入 e、 劳拉会以阿鲁亚尔的身份返回,但我得到了[C@11d72ca作为我的输出

    String input = JOptionPane.showInputDialog("Enter name");
    Scanner scanner = new Scanner(input);
    String name = scanner.next();
    scanner.close();

    char[] backwards = new char[name.length()];
    for(int i = 0; i<name.length(); i++)
    {
        backwards[i] = name.charAt(name.length()-1-i);
    }

    JOptionPane.showMessageDialog(null, backwards.toString());
}

有一种更简单的方法可以反转字符串:

    String reverse = new StringBuilder(name).reverse().toString()
如果不想使用此方法,为了将char[]转换为字符串,需要执行以下操作:

    String reverse = new String(backwards);
在数组上调用toString将调用对象的toString方法。这将返回hashCode,这是您得到的

您的代码将正确打印字符串,只是您没有正确打印数组。