zoukankan      html  css  js  c++  java
  • 【实用类String】String类方法的应用案例:查找判断指定字符出现的次数和位置

    一、应用要求

      输入一个字符串,再输入要查找的字符,判断该字符在该字符串中出现的次数。

    二、实现思路

      1.使用substring()方法将字符串的每个字符存入数组

      2.比较数组每个字符是否与指定的字符相等,并计数

    三、编写代码

      错误案例:

     1 import java.util.Scanner;
     2 
     3 public class StringDemo {
     4 
     5     public static void main(String[] args) {
     6         Scanner input = new Scanner(System.in);
     7         System.out.println("请输入一句话:");
     8         String string = input.next();
     9         System.out.println("请输入查找的字符串:");
    10         String s = input.next();
    11         
    12         
    13         //2.正序
    14         /*int num = 0;
    15         int temp = 0;
    16         while(string.indexOf(s)>-1){
    17             int index = string.indexOf(s);
    18             num=num+index+temp;
    19             System.out.print(num+"	");
    20             string = string.substring(index+1);
    21             temp++;
    22         }*/
    23         /*while(string.indexOf(s)>-1){
    24             if (temp == 0) {
    25                 System.out.println(string.indexOf(s));
    26                 num = string.indexOf(s);
    27                 string = string.substring(string.indexOf(s)+1);
    28                 temp++;
    29             } else {
    30                 int indexs = string.indexOf(s);
    31                 string = string.substring(indexs+1);
    32                 num=num+indexs+1;
    33                 System.out.print(num+"	");
    34             }
    35             
    36         }*/
    37         /*从后往前找,遇到重复字符会出错
    38          * 
    39         //1.查找第一个下标
    40         int index = string.indexOf(s);
    41         //声明一个集合保存获取的下标
    42         List<Integer> list = new ArrayList<Integer>();
    43         while(string.length()>=index){
    44             //2.查找最后一个
    45             int indexEnd = string.lastIndexOf(s);
    46             if (indexEnd<0) {
    47                 break;
    48             }
    49             list.add(indexEnd);//保存到list
    50             //System.out.print(indexEnd+"	");
    51             string = string.substring(0, indexEnd);
    52         }
    53         //遍历list
    54         System.out.println();
    55         for (int i = list.size()-1; i >= 0; i--) {
    56             System.out.print(list.get(i)+"	");
    57         }
    58         */
    59         //查找字符打印位置下标:正序查找才是王道
    60         for (int i = 0; i <= string.lastIndexOf(s); i++) {
    61             if (s.equals(string.substring(i, i+s.length()))) {
    62                 System.out.println(i);
    63                 i = i+s.length()-1;
    64             }
    65         }
    66         input.close();
    67 
    68     }
    69 
    70 }

      最终代码:

     1 import java.util.Scanner;
     2 /**
     3  * 查找字符串
     4  * @author Administrator
     5  *
     6  */
     7 public class String01 {
     8 
     9     public static void main(String[] args) {
    10         Scanner input = new Scanner(System.in);
    11         System.out.println("请输入一句话:");
    12         String string = input.next();
    13         System.out.print("请输入查找的字符串:");
    14         String s = input.next();
    15         //查找字符打印位置下标
    16         int count = 0;//记录字符出现的次数
    17         for (int i = 0; i <= string.lastIndexOf(s); i++) {
    18             if (s.equals(string.substring(i, i+s.length()))) {
    19                 System.out.print(i+"	");
    20                 i = i+s.length()-1;
    21                 count++;
    22             }
    23         }
    24         System.out.println(s+"共出现"+count+"次!");
    25         input.close();
    26 
    27     }
    28 
    29 }
  • 相关阅读:
    AES加密demo
    js处理文本中特殊字符
    mybatis关联查询举例
    mysql杀进程脚本
    设置连接超时,connectTimeOut与readTimeOut需要同时设置
    JVM学习笔记(四)------内存调优
    JVM学习笔记(三)------内存管理和垃圾回收
    JVM学习笔记(二)------Java代码编译和执行的整个过程
    JVM学习笔记(一)------基本结构
    HTML常用标签及其全称
  • 原文地址:https://www.cnblogs.com/tengqiuyu/p/6916306.html
Copyright © 2011-2022 走看看