部分代码如下;
String s = "1234567";
String s2 = "";
for(int i=0; i<s.length(); i++)
{
s2 = s.charAt(i) + __________;
}
System.out.println(s2);
问题如下:
1)横线哪里填什么,可以实现s里字符串的反转为7654321啦???
------解决思路----------------------
就填s2!
charAt(i),每次去除其中的一个字符。
第一次取出字符1,s2 = "1"+s2;
s2 = "1";
第二次取出字符2,s2 = "2"+s2;
s2 = "21";
依次类推。
------解决思路----------------------
因为s.charAt(i)返回的是char型啊,char型赋值给String,所以报错啊。
s.charAt(i)+s2,因为s2是String型,加号的操作数之一为String型,得到的结果就是String型
------解决思路----------------------
填写s2即可。
s2 = s.charAt(i)就报错是因为charAt方法返回的是s字符串中对应位置的字符,字符赋值给字符串类型肯定报错。
s2 = s.charAt(i)+s2不报错是因为字符+字符串JVM本质上进行了转化,将最后的结果转化成字符串了,所以不报错。