【实用类String】String类方法的应用案例:查找判断指定字符出现的次数和位置
一、应用要求
输入一个字符串,再输入要查找的字符,判断该字符在该字符串中出现的次数。
二、实现思路
1.使用substring()方法将字符串的每个字符存入数组
2.比较数组每个字符是否与指定的字符相等,并计数
三、编写代码
错误案例:
import java.util.Scanner;
public class StringDemo {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一句话:");
String string = input.next();
System.out.println("请输入查找的字符串:");
String s = input.next();
//2.正序
/*int num = 0;
int temp = 0;
while(string.indexOf(s)>-1){
int index = string.indexOf(s);
num=num+index+temp;
System.out.print(num+"\t");
string = string.substring(index+1);
temp++;
}*/
/*while(string.indexOf(s)>-1){
if (temp == 0) {
System.out.println(string.indexOf(s));
num = string.indexOf(s);
string = string.substring(string.indexOf(s)+1);
temp++;
} else {
int indexs = string.indexOf(s);
string = string.substring(indexs+1);
num=num+indexs+1;
System.out.print(num+"\t");
}
}*/
/*从后往前找,遇到重复字符会出错
*
//1.查找第一个下标
int index = string.indexOf(s);
//声明一个集合保存获取的下标
List<Integer> list = new ArrayList<Integer>();
while(string.length()>=index){
//2.查找最后一个
int indexEnd = string.lastIndexOf(s);
if (indexEnd<0) {
break;
}
list.add(indexEnd);//保存到list
//System.out.print(indexEnd+"\t");
string = string.substring(0, indexEnd);
}
//遍历list
System.out.println();
for (int i = list.size()-1; i >= 0; i--) {
System.out.print(list.get(i)+"\t");
}
*/
//查找字符打印位置下标:正序查找才是王道
for (int i = 0; i <= string.lastIndexOf(s); i++) {
if (s.equals(string.substring(i, i+s.length()))) {
System.out.println(i);
i = i+s.length()-1;
}
}
input.close();
}
}
最终代码:
import java.util.Scanner;
/**
* 查找字符串
* @author Administrator
*
*/
public class String01 { public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一句话:");
String string = input.next();
System.out.print("请输入查找的字符串:");
String s = input.next();
//查找字符打印位置下标
int count = 0;//记录字符出现的次数
for (int i = 0; i <= string.lastIndexOf(s); i++) {
if (s.equals(string.substring(i, i+s.length()))) {
System.out.print(i+"\t");
i = i+s.length()-1;
count++;
}
}
System.out.println(s+"共出现"+count+"次!");
input.close(); } }
【实用类String】String类方法的应用案例:查找判断指定字符出现的次数和位置的更多相关文章
- java 基础 - 查找某个字串出现的次数及位置
查找某个字串出现的次数及位置 public class search { public static void main(String[] args){ String str = "abc1 ...
- SQL Server 查找字符串中指定字符出现的次数
要查找某个指定的字符在字符串中出现的位置,方法比较简单,使用 len() 函数和 replace() 函数结合就可以. SELECT TOP 200 approveInfo approveInfo2, ...
- Day_09【常用API】扩展案例3_删除源字符串中的指定字符,并计算指定字符出现的次数
分析以下需求,并用代码实现 1.键盘录入一个源字符串由字符串变量scrStr接收 2.键盘录入一个要删除的字符串由字符串变量delStr接收 3.要求 删除该字scrStr符串中的所有delStr字符 ...
- 使用grep查找文件中指定字符出现的次数
grep -o ‘好' 文件名.txt | wc -l -o 指示grep显示所有匹配的地方,并且每一个匹配单独一行输出.这样只要统计输出的行数就可以知道这个字符出现的次数了.
- Java基础知识强化之集合框架笔记56:Map集合之HashMap集合(HashMap<String,Student>)的案例
1. HashMap集合(HashMap<String,Student>)的案例 HashMap是最常用的Map集合,它的键值对在存储时要根据键的哈希码来确定值放在哪里. HashMap的 ...
- 用 string 进行插入、替代、查找输出下标等操作
string s; s = "; string::iterator it; it = s.begin();//让s指向第一个元素 cout << s; system(" ...
- C#基础总结之五Dictionary<string, string[]>和while循环
#region 第五天作业 名片集(01) //Dictionary<string, string[]> PersonCard = new Dictionary<string, st ...
- Babelfish (关于map<string,string>的用法
题目链接:https://vjudge.net/contest/237395#problem/A 学习博客:https://blog.csdn.net/lyy289065406/article/det ...
- String类(获取,转换,判断,比较)
1 package cn.itcast.p1.string.demo; 2 3 import java.util.Iterator; 4 5 import com.sun.org.apache.xpa ...
随机推荐
- CI框架部署后访问出现404
昨天新配置了一个PHP集成开发环境,安装完后,把项目放到Apache服务器的www目录下,发现只能打开首页,其他页面全部无法打开,当时比较纳闷,以为是服务器没有配置好,测试了一下,发现环境配置没有问题 ...
- Centos文章列表
1.Linux 中将用户添加到组的指令:https://cnzhx.net/blog/linux-add-user-to-group/ 2.CentOS7为firewalld添加开放端口及相关操作:h ...
- linux 下系统时间设置C语言实现
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <sys/time.h&g ...
- 网址访问量统计插件 FlagCounter
网址或博客访问量统计插件 ---> FlagCounter. 网址:http://s01.flagcounter.com/more/ERP2/
- requests库安装
1.运行cmd输入pip install requests C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts ...
- Android LayerDrawable资源应用
1.介绍 (1)常识 (2)特点 2.实例演示 <1>新建drawable文件 app--->src---->main---->res---->drawable , ...
- Javascript 中 的坑..
### 1. 0 == '' 返回 true 0 === '' 返回false......... 切记...
- 【算法笔记】B1001 害死人不偿命的(3n+1)猜想
1001 害死人不偿命的(3n+1)猜想 (15 分)卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复砍 ...
- 高僧斗法(nim博弈)----------蓝桥备战系列
标题:高僧斗法 古时丧葬活动中经常请高僧做法事.仪式结束后,有时会有"高僧斗法"的趣味节目,以舒缓压抑的气氛. 节目大略步骤为:先用粮食(一般是稻米)在地上"画" ...
- 完美的js继承
//完美的js继承 少了类管理器 Object.extend=function(){ var fnTest = /\b_super\b/; //继承父类 var _super = arguments[ ...