黑马程序员技术交流社区
标题:
字符串反转的问题
[打印本页]
作者:
枫儿
时间:
2013-10-13 12:52
标题:
字符串反转的问题
本帖最后由 枫儿 于 2013-10-13 14:00 编辑
大家帮忙看看,为啥我这段代码打印之后还是原字符串,没有反转
class StringDemo2
{
public static void main(String[] args)
{
String s=" ab cd ";
sop("("+s+")");
fz(s);
sop("("+s+")");
}
public static void sop(String sop)
{
System.out.println(sop);
}
public static String fz (String f)
{
char[] chs= f.toCharArray();
fazh(chs);
return new String(chs);
}
public static void fazh(char[] c)
{
for (int sta=0,end=c.length-1; sta<=end; sta++,end--)
{
saw(c,sta,end);
}
}
public static void saw(char[] d ,int x,int y)
{
char temp;
temp=d[x];
d[x]=d[y];
d[x]=temp;
}
}
复制代码
作者:
飘落
时间:
2013-10-13 13:15
这段程序有两个小错误,如代码注释所示:
class StringDemo2 {
public static void main(String[] args) {
String s = " ab cd ";
sop("(" + s + ")");
String s2=fz(s);//改后
sop("(" + s2 + ")");//改后
}
public static void sop(String sop) {
System.out.println(sop);
}
public static String fz(String f) {
char[] chs = f.toCharArray();
fazh(chs);
return new String(chs);
}
public static void fazh(char[] c) {
for (int sta = 0, end = c.length - 1; sta <= end; sta++, end--) {
saw(c, sta, end);
}
}
public static void saw(char[] d, int x, int y) {
char temp;
temp = d[x];
d[x] = d[y];
d[y] = temp;//改后
}
}
复制代码
作者:
雪人
时间:
2013-10-13 13:51
字符串是常量;它们的值在创建之后不能更改。
你直接把字符串扔到方法里面, 不接收返回值, 字符串是不会产生变化的.
即便你里面的方法写正确, 字符串也不会产生变化.
作者:
To
时间:
2013-10-13 13:57
楼主你好,如果问题已解决请将帖子状态修改为提问结束,如果未解决请继续提问,谢谢合作
作者:
枫儿
时间:
2013-10-13 14:04
雪人 发表于 2013-10-13 13:51
字符串是常量;它们的值在创建之后不能更改。
你直接把字符串扔到方法里面, 不接收返回值, 字符串是不会产 ...
哦,好像记起了毕姥爷说过,字符串返回值和和刚刚这个S是两个对象
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2