计算字符串中子串出现的次数

 private void stringnum() {
        String str1 =tv1.getText().toString();
        String str2 =tv2.getText().toString();
        int count=0;
        if(str1.equals("")||str2.equals(""))
        {
            Toast.makeText(MainActivity.this,"请输入字符串",Toast.LENGTH_SHORT).show();;
            System.exit(0);
        }
        else
        {
            for(int i=0;i<=str1.length()-str2.length();i++)
            {
                if(str2.equals(str1.substring(i, str2.length()+i)))
                    //这种比法有问题,会把"aaa"看成有2"aa"子串。
                    count++;
            }
            Toast.makeText(MainActivity.this,"子串在字符串中出现: "+count+" 次",Toast.LENGTH_SHORT).show();;
        }
    }

你可能感兴趣的:(算法)