Java每日题- 给定一个字符串,判断该字符串张是否包含某个字串。

(String) 给定一个字符串,判断该字符串张是否包含某个字串。
如果包含,求出字串的所有出现位置。
如:"abcd23abc34bcd"中,"bc"字串的出现位置为:1,7,11.字符串和字串均由用户输入

public class Demo13 {
    public static void main(String[] args) {
        System.out.println("请输入原始字符串:");
        String string = new Scanner(System.in).next();
        // 输入字符串
        System.out.println("请输入需要比较的字符串:");
        String str1 =  new Scanner(System.in).next();
        stringMethod(string,str1);
        stringMethodTwo(string,str1);
    }
// 方法一
    private static void stringMethod(String string,String str1) {
        // 示例字符串
        int d = - 1;
        String str="";
        str1 = str1.trim();
        if(string.indexOf(str1)==-1) {
            System.out.println("不存在相同字符串");
        }else {
            for (int i = 0; i < string.length(); i++) {
                if(string.lastIndexOf(str1) == string.indexOf(str1,d)) {
                    break;
                } else {
                    d = string.indexOf(str1,d+1) ;
                    str += d + ",";
                }
            }               
        }
        System.out.println(str.replaceAll(",$",""));
    }
// 方法二
    private static String stringMethodTwo(String a,String b) {
        StringBuffer sb = new StringBuffer();
        int c = -1;
        for(int y=0; y

你可能感兴趣的:(Java每日题- 给定一个字符串,判断该字符串张是否包含某个字串。)