黑马程序员技术交流社区

标题: String(API)练习 [打印本页]

作者: _J2EE_LiXiZhen    时间: 2017-10-22 22:28
标题: String(API)练习
  1. package cn.itcast.Test02;

  2. /**
  3. *                 一、需求说明:定义如下字符串:
  4. *                        String str = “javajfiewjavajfiowfjavagkljjava”;
  5. *                        二、请分别定义方法统计出:
  6. *                        1.字符串中:字符j的数量
  7. *                        2.字符串中:字符串java的数量
  8. *                       
  9. *                        1.定义MainApp类,包含main()方法;
  10. *                        2.在MainApp类中,定义以下两个方法:
  11. *                        1)可以统计一个字符串中,某个字符出现的次数;
  12. *                        public static int countChar(String str,char c)
  13. *                        2)可以统计一个字符串中,某个字符串出现的次数;
  14. *                        public static int countString(String str,String s)
  15. *                        3.请实现方法,并在main()方法中分别调用这两个方法进行统计。
  16. ***/

  17. public class DemoReplace {

  18.         public static void main(String[] args) {
  19.                 //定义字符串
  20.                 String str = "javajfiewjavajfiowfjavagkljjava";
  21.                 //调用countChar方法统计j的数量并打印
  22.                 System.out.println("j的数量: "+countChar(str,'j'));
  23.                 //调用countStr方法统计java的数量并打印
  24.                 System.out.println("java的数量: "+countStr(str, "java"));
  25.                 //调用countStr2方法统计java的数量并打印
  26.                 System.out.println("java的数量: "+countStr2(str, "java"));
  27.         }

  28.         /**
  29.          * 方法countChar: 统计一个字符串中,某个字符出现的次数
  30.          * */
  31.         public static int countChar(String str,char chr) {
  32.                 //创建计数器
  33.                 int count = 0;
  34.                 //将字符串转成数组
  35.                 char[] arr = str.toCharArray();
  36.                 //循环遍历字符数组
  37.                 for (int i = 0; i < arr.length; i++) {
  38.                         //判断要找的字符是否与数组中的相同
  39.                         if(arr[i]==chr) {
  40.                                 //计数器+1
  41.                                 count++;
  42.                         }
  43.                 }
  44.                 return count;
  45.         }
  46.        
  47.         /**
  48.          * 方法countStr: 统计一个字符串中,某个字符串出现的次数
  49.          * */
  50.         public static int countStr(String str,String findStr) {
  51.                 //定义计数器
  52.                 int count = 0;
  53.                 //复制字符串,防止原字符串改变
  54.                 String strCopy = str;
  55.                 //定义索引
  56.                 int index = 0;
  57.                 //indexOf判断是否存在字符串
  58.                 while(strCopy.indexOf(findStr)!=-1) {
  59.                         index = strCopy.indexOf(findStr);
  60.                         count++;
  61.                         //重新截取字符串
  62.                         strCopy = strCopy.substring(index+1);
  63.                 }
  64.                 return count;
  65.         }
  66.         /**
  67.          * 方法countStr2: 统计一个字符串中,某个字符串出现的次数
  68.          * */
  69.         public static int countStr2(String str,String findStr) {
  70.                 //将接收的字符串全部变成字符数组
  71.                 char[] chr = str.toCharArray();
  72.                 char[] findChr = findStr.toCharArray();
  73.                 //定义计数器
  74.                 int count = 0;
  75.                 //循环遍历chr直到遇到与要统计字符串首字符相同的字符
  76.                 for (int i = 0; i < chr.length; i++) {
  77.                         //如果遇到与要统计字符串首字符相同的字符
  78.                         if(chr[i]==findChr[0]) {
  79.                                 //定义内部判断计数器 k
  80.                                 int k = 0;
  81.                                 //将此时i的值赋给m,防止漏掉一次循环
  82.                                 int m = i;
  83.                                 for(int j = 0;j<findChr.length;j++,m++) {
  84.                                         if(chr[m]==findChr[j]) {
  85.                                                 k++;
  86.                                         }
  87.                                 }
  88.                                 if(k==findChr.length) {
  89.                                         count++;
  90.                                 }
  91.                         }                       
  92.                 }
  93.                 return count;
  94.         }
  95. }















复制代码

作者: Oliverwqcwrw    时间: 2017-10-22 23:10
spring框架难吗?
作者: _J2EE_LiXiZhen    时间: 2017-10-28 12:05
Oliverwqcwrw 发表于 2017-10-22 23:10
spring框架难吗?

不是,只是基础班里讲到的一些String里面的方法,总结了一下
作者: 18363802316    时间: 2017-10-28 18:29
本帖最后由 18363802316 于 2017-10-28 18:30 编辑
Oliverwqcwrw 发表于 2017-10-22 23:10
spring框架难吗?

...............................





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