此代码无效。你能告诉我什么是错的,为什么?
package exer0403e08;
public class EXER0403E08 {
public static void main(String[] args) {
String str= "hello";
System.out.println(str);
char[]strchar = str.toCharArray();
int first;
int last=5;
System.out.println("The reversed is: ");
for (first=1; first<=5; first++){
strchar[first]=strchar[last];
last--;
}
str=String.valueOf(strchar);
str=str.toUpperCase();
System.out.println(str);
}
}
答案是&#34; OLLO&#34;而且我想把它变成&#34; OLLEH&#34;。
答案 0 :(得分:1)
你循环有几个问题。你误解了数组索引。
您正在迭代并修改同一个数组。因此,对于数组,奇怪的行为和索引将从零开始。
所以固定代码将是
for letter in 'Python':
print 'Current Letter :', letter
fruits = 1,45
for fruit in fruits:
print 'Current fruit :', fruit
print type(fruit)
print type(letter)
更新:
答案 1 :(得分:1)
你可以这样编写自己的方法:
public static String reverse(String str)
{
String reversed = new String();
for ( int j = str.length()-1; j >= 0; j-- )
reversed += str.charAt(j);
return reversed;
}
然后尝试反向(&#34; Hello&#34;);
答案 2 :(得分:0)
你有更好的java方法来反转字符串。请检查this answer:
您可以使用:
new StringBuilder(hi).reverse().toString()
或者,对于早于JDK 1.5的版本,使用java.util.StringBuffer
而不是StringBuilder
- 它们具有相同的API。感谢评论员指出现在首选StringBuilder
。