要求输入一个字符串把里面带s的字符去了。小弟写了一个这样的程序我知道错误在那里但是我不知道怎么该
我输入的这个s和我在这个字符里面去s的k不是同一个数,但是只有在StringBuffer类中才能用到delete()这个方法,只要把他们变成同一个数就可以的。请师傅指教指教哦!谢谢的!
package untitled1;
import java.io.*;public class Li{public static void main(String args[]){  String s=" ";
  System.out.println("请输入一个:");
  try{
    BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
    s=in.readLine();
    }catch(IOException e) {}
de(s);
 }  /**
   * de
   */
  public static void de(String s) {
 StringBuffer k=new StringBuffer();
    int i=0;
 while(i<s.length() ){
   if(s.charAt(i)=='s')
   {
     k.delete(i,i+1);
   }
else i++;
 }
System.out.println("This is without 's':"+s);  
}}

解决方案 »

  1.   

    很简单啊
      public static void de(String s) {
     StringBuffer k=new StringBuffer(s);//
        int i=0;
     while(i<s.length() ){
       if(s.charAt(i)=='s')
       {
         k.delete(i,i+1);
       }
    else i++;
     }
    s=k.toString();
    System.out.println("This is without 's':"+s);  
    }
      

  2.   

    对于String的任一个操作都是先重新生成一个String的拷贝, 然后对这个拷贝进行操作。
    即如果你需要修改一个String并返回修改后的String, 你得要再去接一下返回值。 就像 kulapca() 那样