黑马程序员技术交流社区

标题: [已解决]字符串无法替换问题求助 [打印本页]

作者: 李春阳    时间: 2012-6-5 12:42
标题: [已解决]字符串无法替换问题求助
本帖最后由 李春阳 于 2012-6-5 14:45 编辑

很小一个程序额,想测试下替换功能的~运行也不报错~
但是就是结果不对~~~

我是想把空格替换为****

求助这是为什么。。越简短的越让人崩溃啊~

public class ReplaceDemo {
public static void main(String[] args) {
  String s = "Hello the Java world~";
  
  s.replace(" ", "****");
  
  System.out.println(s);
}
}


作者: 唐辉辉    时间: 2012-6-5 12:47
public String replace(char oldChar,  char newChar)
replace 方法是有返回值的,需要用一个String变量接收,再打印出来

class ReplaceDemo {
public static void main(String[] args) {
   String s = "Hello the Java world~";
   
   String s1 = s.replace(" ","***");
   
   System.out.println(s1);
}
}

作者: 杜俊彪    时间: 2012-6-5 12:47
本帖最后由 杜俊彪 于 2012-6-5 12:49 编辑

,, 这个问题,  和那个String 和StringBuffer的面试题的区别了;           去看下吧,
改了一个:
  1. public class ReplaceDemo {
  2. public static void main(String[] args) {
  3.   String s = "Hello the Java world~";
  4.   
  5.   s.replace(" ", "****");
  6.   
  7.   System.out.println( s.replace(" ", "****"));
  8. }
  9. }
复制代码

作者: 伊文龙    时间: 2012-6-5 12:49
这个方法是有返回值的,返回你修改后的字符串,而不是在你原来上的字符串进行修改
所以你可以改成System.out.println( s.replace(" ", "****"));
作者: 王渠    时间: 2012-6-5 12:51
replace这个方法是有返回值的
  1. s = s.replace(" ", "****");
复制代码
你想要的结果
作者: 李春阳    时间: 2012-6-5 12:52
晓得啦~返回值这个问题总晕哎,我再研究研究
作者: 郭宁    时间: 2012-6-5 13:20
楼主不喜欢查阅API啊。
作者: 马东华    时间: 2012-6-5 14:49
replace(oldchar,newchar)返回一个新的字符串,不改变原来的字符串




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2