A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 党传才 中级黑马   /  2012-4-18 11:49  /  1535 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

代码如下,想输出两个字符串,结果老是重复,请大家帮忙

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++;
        }   
}

2 个回复

倒序浏览
要输出什么样的字符串啊?我只找到了死循环原因,就是k=i应该改成k=i+1,然后最后i++好像也没用到~
回复 使用道具 举报
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++;//正如上面的说的 没啥用
         }   
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马