【发布时间】:2014-05-08 07:51:15
【问题描述】:
您好,我正在编写一个测试程序来反转字符串。当我使用 toString() 方法将字符数组转换为字符串时,我得到了错误的输出。当我尝试使用 for 循环手动打印数组而不将其转换为字符串时,答案是正确的。我写的代码如下图:
import java.util.*;
public class stringManip {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "This is a string";
System.out.println("String=" +str);
//reverse(s);
char[] c = str.toCharArray();
int left = 0;
int right = str.length() - 1;
for (int i = 0; i < (str.length())/2; i++)
{
char temp = c[left];
c[left++] = c[right];
c[right--] = temp;
}
System.out.print("Reverse="+c.toString());
}
}
我应该得到我输入的字符串的反向,而不是得到的输出是:
String=This is a string
Reverse=[C@45a1472d
使用 toString() 方法时是否有问题?任何帮助表示赞赏。谢谢你。
【问题讨论】: