小演算法題(幹寫)
阿新 • • 發佈:2022-02-18
演算法題:1
獲取一個字串在另一個字串中出現的次數。比如:獲取“ab”在 “abkkcadkabkebfkabkskab” 中出現的次數21
package Java5.exer; import org.testng.annotations.Test; /** * @author [email protected] * @version v1.0 * @Date:2022/2/18 * @Description 獲取一個字串在另一個字串中出現的次數。比如:獲取“ab”在 “abkkcadkabkebfkabkskab” 中出現的次數21 */ public class JavaStringExer1 { public int isStringNumber(String str, String numStr) { if (str.length() >= numStr.length()) { if(str != null && numStr != null) { int total = 0; char[] strChar = str.toCharArray(); char[] numStrChar = numStr.toCharArray(); for (int i = 0; i < str.length(); i++) { if(strChar[i] == numStrChar[0]) { if(i < (strChar.length - numStr.length()) + 1) { for (int j = i+1, x = 1; x < numStr.length(); j++, x++) { if(strChar[j] == numStrChar[x]) { if(x == numStr.length() - 1) { total++; } } } } } } return total; } } return 0; } @Test public void test1() { String test = "abkkcadkabkebfkabkskab"; int num = isStringNumber(test, "bk"); System.out.println("次數為:" + num + "次"); } }