找 一个字符串 在别外一个字符串出现的位置,如果存在 就返回它所在位置的值 ,不存在就返回-1 (不使用系统自带的函数)

/**
     * 从一组字符串 查找匹配的字符
     * @param str   大字符串
     * @param findStr 查找的字符
     * @return
     */
    public int isFind (String str ,String findStr){
        int isFind = -1;
        char[] str_arr     = str.toCharArray();
        char[] find_arr = findStr.toCharArray();
        
        // 定义 两个查找位置
        int f = 0  ;   //主串的位置
        int s = 0;     //从串的位置
           while (f < str_arr.length && s < findStr.length()){
             if (str_arr[f] == find_arr[s]){
                 ++ f;
                 ++ s;
            }
            else {
                f++;
                s = 0;
            }
            }
       //说明查找 到了这个字符串
         if (s >0){
             isFind = f - s;
         }
         System.out.println("isfindid--***"+isFind);
         return isFind;
         }


例如 :int findId = convert.isFind("1cd", "cd");

输出结果是:1



你可能感兴趣的:(java)