- package cn.itcast.Test02;
- /**
- * 一、需求说明:定义如下字符串:
- * String str = “javajfiewjavajfiowfjavagkljjava”;
- * 二、请分别定义方法统计出:
- * 1.字符串中:字符j的数量
- * 2.字符串中:字符串java的数量
- *
- * 1.定义MainApp类,包含main()方法;
- * 2.在MainApp类中,定义以下两个方法:
- * 1)可以统计一个字符串中,某个字符出现的次数;
- * public static int countChar(String str,char c)
- * 2)可以统计一个字符串中,某个字符串出现的次数;
- * public static int countString(String str,String s)
- * 3.请实现方法,并在main()方法中分别调用这两个方法进行统计。
- ***/
- public class DemoReplace {
- public static void main(String[] args) {
- //定义字符串
- String str = "javajfiewjavajfiowfjavagkljjava";
- //调用countChar方法统计j的数量并打印
- System.out.println("j的数量: "+countChar(str,'j'));
- //调用countStr方法统计java的数量并打印
- System.out.println("java的数量: "+countStr(str, "java"));
- //调用countStr2方法统计java的数量并打印
- System.out.println("java的数量: "+countStr2(str, "java"));
- }
- /**
- * 方法countChar: 统计一个字符串中,某个字符出现的次数
- * */
- public static int countChar(String str,char chr) {
- //创建计数器
- int count = 0;
- //将字符串转成数组
- char[] arr = str.toCharArray();
- //循环遍历字符数组
- for (int i = 0; i < arr.length; i++) {
- //判断要找的字符是否与数组中的相同
- if(arr[i]==chr) {
- //计数器+1
- count++;
- }
- }
- return count;
- }
-
- /**
- * 方法countStr: 统计一个字符串中,某个字符串出现的次数
- * */
- public static int countStr(String str,String findStr) {
- //定义计数器
- int count = 0;
- //复制字符串,防止原字符串改变
- String strCopy = str;
- //定义索引
- int index = 0;
- //indexOf判断是否存在字符串
- while(strCopy.indexOf(findStr)!=-1) {
- index = strCopy.indexOf(findStr);
- count++;
- //重新截取字符串
- strCopy = strCopy.substring(index+1);
- }
- return count;
- }
- /**
- * 方法countStr2: 统计一个字符串中,某个字符串出现的次数
- * */
- public static int countStr2(String str,String findStr) {
- //将接收的字符串全部变成字符数组
- char[] chr = str.toCharArray();
- char[] findChr = findStr.toCharArray();
- //定义计数器
- int count = 0;
- //循环遍历chr直到遇到与要统计字符串首字符相同的字符
- for (int i = 0; i < chr.length; i++) {
- //如果遇到与要统计字符串首字符相同的字符
- if(chr[i]==findChr[0]) {
- //定义内部判断计数器 k
- int k = 0;
- //将此时i的值赋给m,防止漏掉一次循环
- int m = i;
- for(int j = 0;j<findChr.length;j++,m++) {
- if(chr[m]==findChr[j]) {
- k++;
- }
- }
- if(k==findChr.length) {
- count++;
- }
- }
- }
- return count;
- }
- }
复制代码 |