描述
寫出一個程式,接受一個由字母、數字和空格組成的字串,和一個字符,然后輸出輸入字串中該字符的出現次數,(不區分大小寫字母)
資料范圍: 1≤n≤1000
輸入描述:
第一行輸入一個由字母和數字以及空格組成的字串,第二行輸入一個字符,
輸出描述:
輸出輸入字串中含有該字符的個數,(不區分大小寫字母)
解法思路
將輸入字串中的目標字符替換為空字串“”(注意區分空格和空字符是不同的ascii碼),每替換一次,原輸入字串的長度就會減少一,替換結束后的字串長度和原輸入字串長度的差,便是目標字符在輸入字串出現的次數
代碼實作
import java.util.Scanner;
public class Main{
public static void main(String [] args){
Scanner sc = new Scanner(System.in);
String srcStr = sc.nextLine().toLowerCase();
String tarChar = sc.nextLine().toLowerCase();
System.out.println(srcStr.length() - srcStr.replaceAll(tarChar,"").length());
}
}
優缺點和拓展
優點:基于API編程,思路比較巧妙,可擴展性好
缺點:運行速度較慢于逐個字符做比較的查找方式
擴展:題目可以修改為統計目標字串str在源字串中出現的次數,整體思路相同,計算公式需要修改為:
? count = (srcStr.length() - srcStr.replaceAll(tarStr,"").length())/tarStr.length()
題目鏈接
https://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1

本文來自博客園,作者:西湖邊的碼農,轉載請注明原文鏈接:https://www.cnblogs.com/hoyoho/p/huawei_01_get_target_str_count.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/471806.html
標籤:其他
上一篇:Dnscat2隧道
