黑马程序员技术交流社区
标题:
没基础学员----字符串反转问题求指教
[打印本页]
作者:
張帅
时间:
2013-9-6 08:30
标题:
没基础学员----字符串反转问题求指教
本帖最后由 張帅 于 2013-9-10 17:39 编辑
class StringTest
{
public static void sop(String str)
{
System.out.println(str);
}
public static String reverseString(String s)
{
char[] chs = s.to charArray();//
将字符串变成数组.......我想问的是 为什么转换字符串要先将字符串转换成数组,能不能不换成数组直接转换位置吗?,新人无基础学员,学到此处产生问题。。
reverse(chs);\\将字符串反转为数组chs
return new String(chs);
}
private static void reverse(char[] arr)
{
for(int start=0,end=arr.length-1;start<end;start++,end--)//转换的起始位置、条件设置
{
swap(arr,start,end);
}
private static void swap(char[] arr,intx,inty)//利用第三方变量操作转换
{
char temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
public static void main(String args[])
{
String s = “hellochina";
sop("("+s+")");//打印转换前的字符串
sop("("+reverseString(s)+")") ;
}}
作者:
yangjie
时间:
2013-9-6 08:52
String类对象建立之后是不可变的常量,改动它会直接生成新的对象。而且它只提供了查找判断和简单的替换方法,转成数组之后就可以用数组的思想和方法来修改了。
如果不用数组还可以用StringBuffer或者StringBuilder类,这两个类支持可变的字符串,提供一些更灵活的操作方法,比如reverse方法就可以用来反转字串。
作者:
杨栋
时间:
2013-9-6 11:01
因为转换成 字符数组 你就可以对 字符数组 进行 排序,反转等操作,然后 再 把 排序/反转后的 字符数组 转换成字符串,那么 这个新的 字符串 就是反转过的。
作者:
胡志翔
时间:
2013-9-6 11:52
可以用 new StringBuilder(String s).reverse() 语句来实现字符串的反转
作者:
辛春鹏
时间:
2013-9-6 17:40
想要把字符串反转,之所以想到用数组是因为数组中带有角标啊,可可确定哪一个是第几个位置。可以把每一个字符取出来,从新排放。但是,字符串本身可没有这个功能啊。
作者:
杨增坤
时间:
2013-9-6 18:06
楼主你好!如果您的问题已经解决了,
请您把问题的
未解决
更改为
已解决
!
谢谢合作!
作者:
花生壳
时间:
2013-9-6 18:59
还可以,拉下来跑了一下,代码本事有点小问题。不过这个应该不难理解。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2