java吧 关注:1,255,063贴子:12,743,470
  • 20回复贴,共1

s中内容怎么反转成的s2,搞不懂

只看楼主收藏回复

public class G
{
public static void main(String[] args)
{
String s = "1234567";
String s2 = "";
for(int i=0; i<s.length(); i++)
{
s2 = s.charAt(i) + s2;
}
System.out.println(s2);
}
}


1楼2016-02-23 10:54回复
    这样写就对了。
    String s = "1234567";
    String s2 = "";
    for(int i=0; i<s.length(); i++)
    {
    s2 =s2+ s.charAt(i);
    }
    System.out.println(s2);
    }
    首先我感觉和栈没有什么关系。你顺序写反了,输出自然就是反的。有不懂的可加好友,共同进步!!!


    IP属地:陕西3楼2016-02-23 12:16
    收起回复
      stringbuffer.reverse


      IP属地:四川来自Android客户端4楼2016-02-23 13:42
      收起回复
        这是字符串反转的一种方法,也是linkedlis的一种方法,谢谢楼主分享这个重要的知识点


        IP属地:安徽来自手机贴吧5楼2016-02-23 13:43
        收起回复
          画个内存来看,我觉得三楼比二楼有道理,跟栈无关。个人观点,楼主好题 ↖(^ω^)↗


          来自Android客户端6楼2016-02-23 14:07
          收起回复
            反了


            IP属地:北京7楼2016-02-23 14:19
            回复
              下标从最后一个开始


              IP属地:四川8楼2016-02-23 15:16
              回复
                当 i = 0 => s.charAt(i) = '1'
                s2 = '1' + "" => s2 = "1"
                当 i = 1 => s.charAt(i) = '2'
                s2 = '2' + "1" => s2 = "21"



                =>>> s2 = "7654321"


                9楼2016-02-23 17:32
                收起回复
                  你循环拼接,每次都会把后一位拼接到最前面,所以就反转了


                  IP属地:重庆10楼2016-02-23 17:38
                  收起回复