写一个MyString类提供以下两个方法:  
1、缩写。如"this  sentence  can  be  abbreviated"可缩写为"tscba"。  
2、删除一个字符。如从字符串"this  sentence  can  be  abbreviated"中删除字符'e'将会得到结果"this  sntnc  can  b  abbrviatd"。  
以下是我写的:  
class  MyString  {  
           private  String  str;  
             
           public  MyString()  {}  
             
           public  MyString(String  aString)  {  
                       str=aString;  
           }  
             
           public  String  getString()  {  
                       return  str;  
           }  
             
           public  String  getAbbreviation()  {  
                       int  i=0;  
                       String  abbreviation=str.substring(0,1);  
                       int  index=str.indexOf(i,'  ');  
                       while(i  <  str.length()  &&  index!=-1)  {                          
                                               abbreviation  +=  str.substring(index+1,index+2);  
                                               i=index  +  1;  
                                               index=str.indexOf(i,  '  ');  
                       }  
                       return  abbreviation;  
           }  
             
           public  String  deleteAChar(char  aChar)  {  
                       int  index=0;  
                       int  i=str.indexOf(aChar,  index);  
                       String  newString  ="";  
                       while(index  <  str.length()  &&  index!=-1)  {                                      
                                   newString  +=  str.substring(index,  i);  
                                   index  =  i  +  1;  
                                   str.indexOf(aChar,  index);  
                       }  
                       return  newString;  
           }  
}  
 
public  class  TestMyString  {  
           public  static  void  main(String[]  args)  {  
                       MyString  aStr=new  MyString("I  am  programing  in  java!");  
                       String  newStr=aStr.getAbbreviation();  
                       System.out.println(newStr);  
                       newStr=aStr.deleteAChar('a');  
                       System.out.println(newStr);  
           }  
}  
编译没错就是运行不出来,请高手指教。

解决方案 »

  1.   

    int  index=str.indexOf(i,'  ');  
    Sting中没有这样的函数indexOf(int ch,int String)
      

  2.   

    你可以用这两个函数
    indexOf(String str, int fromIndex) 
    从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引
    indexOf(int ch, int fromIndex)
    从指定的索引开始搜索,返回在此字符串中第一次出现指定字符处的索引。