日期:2014-05-20  浏览次数:20657 次

一道关于字符串的题
编写一个字符串浏览器,输入字符串以及需要查找的字符或字符串,浏览器自动定位所有出现该字符或字符串的位置。

Java code


package cn.puruidong.accp_15;

/**
 * @author PuRuidong
 *
 */
/*
 * 编写一个字符串浏览器,输入字符串以及需要查找的字符或字符串,浏览器自动定位所有出现该字符或字符串的位置
 * 书本332页
 */
import java.util.*;
public class Kfildstr {
    
    private String name; //录入字符串
    private String fildname; //录入要查找的字符串
    private String s[] = new String [100] ;
    private int index ; //录入位置
    Scanner sc = new Scanner (System.in); //输入
    
    public void newname (){
        System.out.println("请输入一个字符串(以','分割):");
        name = sc.next(); //录入
        s = name.split(",",100);
        System.out.println("请输入要查找的字符串:");
        fildname = sc.next();
        for (int i =0 ;i<s.length;i++){
            index = s[i].indexOf(fildname);
                if (index!=0&&index!=-1){
                    //index = i ;
                    
                }
            
                System.out.println(index);    
        }
        
        
        
        
        
        
        
        
            /*
        for (int j=0;j<name.length;j++){
            if (fildname.equals(name[j])){
                System.out.println(name[j]);
                index = j ;
            }
            System.out.println(index);    
        }*/
        
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Kfildstr center = new Kfildstr ();
        center.newname();
        
        
        
    }
        
    }






帮忙看看错误在哪,谢谢了。

------解决方案--------------------
搜索算法有问题。
------解决方案--------------------
我试过了 可以正常运行 就是你输出的是下标 那么自然会少一,比如是找的字符串是第5个开始的 那么答案应该是4