黑马程序员技术交流社区

标题: 关于indexof()方法的使用 [打印本页]

作者: 党传才    时间: 2012-4-18 11:49
标题: 关于indexof()方法的使用
代码如下,想输出两个字符串,结果老是重复,请大家帮忙

public class test {
   
  
    public static void main(String[] args) {
        String s="our future is ";
        int k=0;
        int i=0;
        char c[]= new char[10];       
       for(i=0;i<s.length();k=i,i++){
                i=s.indexOf(" ",k);
                System.out.println(i);
                s.getChars(k,i,c,0);
               
                for(int j=0; j<c.length;j++) {
                        System.out.print(c[j]);                       
                      }
                }
        
        i++;
        }   
}
作者: 张卯    时间: 2012-4-18 12:34
要输出什么样的字符串啊?我只找到了死循环原因,就是k=i应该改成k=i+1,然后最后i++好像也没用到~
作者: 魏明明    时间: 2012-4-18 13:44
public class test {
     
   
     public static void main(String[] args) {
         String s="our future is ";
         int k=0;
         int i=0;
         char c[]= new char[10];        
        for(i=0;i<s.length();k=i,i++){//你这里条件是k=i;那么下面的中的i索引到的 永远都是3会出现死循环
                i=s.indexOf(" ",k);//注意此处返回的是从k开始(包括k位置)索引到“ ”的位置,
                 System.out.println(i);
                 s.getChars(k,i,c,0);//你想输出 our     future  is可这条语句是包字符串中所截取的单词,复制到c中 的0位置,如果你本次复制的长度小于上次的长度,会有部分字符没有覆盖度,会输出our   future   isture这样的情况
                 
                 for(int j=0; j<c.length;j++) {
                         System.out.print(c[j]);                        
                       }
                 }
         
         i++;//正如上面的说的 没啥用
         }   
}




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