我完全不知道为什么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 切换。