对一个字符串进行反转,为什么str+ string.charAt(i)和string.charAt(i)+str得到的顺序不一样?
public static void main(String[] args) {
String a = new String("abcdefghijklmn") ;
System.out.println( reverse(a));
}
public static String reverse(String string) {
String str = "";
for (int i = string.length()-1; i >=0 ; i--) {
str1 = str+ string.charAt(i);
// str2 = string.charAt(i)+str;
}
return str;
}
你这写的,string是个关键词,你用来做参数不合适吧
一个在前一个在后, 自己心算一下就知道了
走第一次
str1 = str+ string.charAt(i); = n
str2 = string.charAt(i)+str; =n
走第二次 string.charAt(i)=m
str1 = str+ string.charAt(i); = nm
str2 = string.charAt(i)+str; =mn
abcdefghijklmn
str=n
str=n+m
str=(n+m)+l
str=n
str=m+n
str=l+(m+n)
不要再循环里用String做字符串拼接
– lovexy-fun 5年前你可以在你的循环里面把 str 打印出来看看效果
– 不如隐茶去 5年前