回 帖 发 新 帖 刷新版面

主题:各位大侠,请帮帮小弟

public class ExtractSubstrings
{
       public static void main(String[] args)
       {
       String text="To be or not to be";
       int count=0;
       char separator=' ';
       int index=0;
       do{
          ++count;
          ++index;
          index=text.indexOf(separator,index);
         }
       while(index!=-1);
       String[] subStr=new String[count];
       int endIndex=0;
       for(int i=0;i<count;i++)
          {
          endIndex=text.indexOf(separator,index);
          if(endIndex==-1)
            subStr[i]=text.substring(index);
          else subStr[i]=text.substring(index,endIndex);  
          } 
       index=endIndex+1;
       for(String s:subStr)
          System.out.println(s);    
       } 
}


不知道怎么的编译出现了异常现象,各位大侠谁能帮助小弟回答这个问题。

小弟还有一问就是for(String s:subStr)
          System.out.println(s);这个代码是什么意思。不太懂。。。

回复列表 (共2个回复)

沙发

index=endIndex+1;  这一句要放在上一个FOR循环里的第一句上```因为你的index在FOR开始前的值为-1,在endIndex=text.indexOf()句中会出错。但是因此index的值为0,所以会跳过"To ..."中的第一个字母T。

那句FOR的意思是对subStr数组中的每个元素进行遍历。

板凳

谢谢你。。。

我来回复

您尚未登录,请登录后再回复。点此登录或注册