【发布时间】:2013-04-18 06:44:13
【问题描述】:
我完全不明白为什么charAt() 在某些情况下有效,而在其他情况下无效。我在学习 Java 时正在做练习,其中一个是取一个字符串,然后以相反的顺序返回它。
我的工作代码:
public String reverseString(String tempStr){
int initialindex = tempStr.length()-1;
int reverseindex = 0;
char tmp;
char[] array = new char[tempStr.length()];
for(int tempchar : array){
tmp = tempStr.charAt(initialindex);
array[reverseindex] = tmp;
initialindex--;
reverseindex++;
}
String returnstr = new String(array);
return returnstr;
}
我遇到的问题是使用下面的for 语句打印乱码:
for(int tempchar : array){
array[reverseindex] = tempStr.charAt(initialindex);
initialindex--;
reverseindex++;
}
使用while 循环、标准for 循环和其他一些丑陋且不起作用的代码版本可能有十几种不同的变体。为什么我创建了一个char tmp 字段,将检查的字符放入该字段,然后使用该字段将数据输入到数组中?
另外,为什么我不能只使用return array.toString(); 返回字符串?
编辑:我正在使用我今天下载的最新 Eclipse,从 netbeans 切换。
【问题讨论】: