java String类-获取一个字符串在另一个字符串中出现的次数

<pre name="code" class="html">//另一种方法
class  StringTest3_1
{
	public static void main(String[] args) 
	{
		String str="hgdfjdssgjdhgfusdkkhdsgfkkshfkkbjsdhh";
		String substr="kk";
		sop(stringsub(str,substr));
		System.out.println("Hello World!");
	}
	
	public static int stringsub(String str,String substr)
	{
		int index=0;
		int count=0;
		int fromindex=0;
		while((index=str.indexOf(substr,fromindex))!=-1)
		{
			//str=str.substring(index+substr.length());
			fromindex=index+substr.length();
			count++;
		}
		return count;
	}

	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
}

/*获取一个字符串str1在另一个字符串str2中出现在的次数。思路:获取str1的长度。然后从str2的开头字符开始比较。例如:str1="abc"; str2="agthabclllabcjukabcjhk";str1的长度为3,则先取str2中的子字符串agt,发现不相同,则以第二个字符作为开头,取3个字符,则为gth,发现仍不相等,依次查找下去。 */class StringTest3 {public static void main(String[] args) {System.out.println("Hello World!");sop(String_count("abcdcdefdcghfcddccdf","dc"));}public static int String_count(String str,String substr){int count=0;int str_len=str.length();int substr_len=substr.length();if(!str.contains(substr))return count;for (int i=0;i<str_len-substr_len ;i++ ){if (substr.equals(str.substring(i,i+substr_len))){count++;}}return count;}public static void sop(Object obj){System.out.println(obj);}}
 
 

你可能感兴趣的:(java,String,获取次数)