黑马程序员技术交流社区

标题: 统计字符串中 某字符串出现的次数 [打印本页]

作者: fmi110    时间: 2015-8-21 23:37
标题: 统计字符串中 某字符串出现的次数
a
  1. package string;

  2. import java.util.Scanner;

  3. public class StringDemo {

  4.         /**
  5.          * 字符串方法演示:
  6.          * 判断:
  7.          *                 isEmpty();内容是否为空,与字符串对象为 null 不同!!
  8.          *                 startsWith();以“。。”开头
  9.          *                 endsWith();以“。。”结尾
  10.          *                 contains();包含
  11.          *                 equals(); 内容相同
  12.          * 获取:
  13.          *                 int length(); 获取长度
  14.          *                 char charAt(index);返回索引处的字符
  15.          *                 int indexOf(int ch);返回指定字符在字符串中第一次出现的位置
  16.          *                         注意:输入的是 int 型数据,char字符 在内存中是以 int 类型存储的,
  17.          *                 int indexOf(String str);返回字符串str在字符中第一次出现的位置
  18.          *                 int indexOf(String str,int fromIndex);指定位置起,含字符串str的位置
  19.          *                 String substring(int startIndex);从指定位置到结尾的字符串
  20.          *                 String sunstring(int start,int end);  (左闭右开区间)
  21.          * 转换:
  22.          *                 byte[] getBytes(String);获取字符流
  23.          *                 char[] toCharArray();获取字符串数组
  24.          *                 static String valueOf(char[] chs);        将字符数组转字符串
  25.          *                 static String valueOf(dataType);
  26.          *                 String toLowerCase();
  27.          *                 String toUpperCase();//返回新的字符串,原字符串没变
  28.          * 其他功能:
  29.          *                 替换
  30.          *                         String replace(char old,char new)
  31.          *                         String replace(String old,String new)
  32.          *                 去除字符串两端的空格:
  33.          *                         String trim()
  34.          *                 按字典顺序比较两个字符串
  35.          *                         int compareTo(String str)
  36.          *                         int compareToIgnoreCase(String str)
  37.          *
  38.          * @param args
  39.          */
  40.         public static void main(String[] args) {
  41. //                Scanner sc = new Scanner(System.in);
  42. //                String str = sc.nextLine();
  43. //                System.out.println(stringReverse(str));
  44.                 int count = countStr("hahaha","ha");
  45.                 System.out.println(count);
  46.         }
  47.         public static String stringReverse(String str) {//字符串翻转
  48.                 char[] arr = str.toCharArray();
  49.                 for (int i = 0, j = arr.length-1; i<=j; i++,j--) {
  50.                         //交换字符
  51.                         char ch = arr[i];  
  52.                         arr[i] = arr[j];
  53.                         arr[j] = ch;       
  54.                 }
  55. //                return new String(arr);
  56.                 return String.valueOf(arr);
  57.         }
  58.         /**
  59.          * @param source
  60.          * @param str
  61.          * @return
  62.          */
  63.         public static int countStr(String source,String str) { //获取包含字符串的个数
  64.                 int count = 0;
  65.                 int offset = source.indexOf(str);
  66.                 while(source.contains(str))
  67.                 {
  68.                         System.out.println(offset);
  69.                         count++;
  70.                         offset = source.indexOf(str) + str.length();
  71.                         source = source.substring(offset);
  72.                         System.out.println(source+"...count = "+count);
  73.                 }
  74.                 return count;
  75.         }
  76. }
复制代码



作者: 漠陌    时间: 2015-8-22 00:16
写的不错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2