1、实验要求

本实验要求:根据用户输入的字符串,计算字符:”sh”重复出现的次数。

1-1. 创建工程并配置环境:

1-1.1. 限制1. 工程取名:SE_JAVA_EXP_E028。

1-1.2. 限制2. 创建包,取名:cn.campsg.java.experiment。

1-1.3. 限制3. 创建类,类名:AppearTime。

1-2. 获取用户输入的字符串:

1-2.1. 要求用户输入字符串,提示语句:” 请输入需要验证的字符串:”

1-3. 计算sh重复出现的次数:

1-3.1. 从字符串第0位字符开始,截取两位字符(第0和第1位字符)。

1-3.2. 判断该字符串是否为sh,如果是则计数加1。

1-3.3. 依次执行截取字符串的操作,直至判断结束。

1-3.4. 例如,有字符串:aashddshhshssh,执行判断操作如下:

1)从第0位截取字符到第1位截止,得字符串:aa

2)判断该字符串是否为sh,如果是则计数加1。

3)从第1位截取字符到第2位截止,得字符串:as

4)判断该字符串是否为sh,如果是则计数加1。

5)从第2位截取字符到第3位截止,得字符串:sh

6)判断该字符串是否为sh,如果是则计数加1。

7)以此类推,判断至字符串末尾。

1-4. 打印结果

1-4.1. 向控制台输出:"sh在字符串中一共出现了" + 计数值 +  "次"

2、实现思路

2-1. 按实验要求创建工程并配置环境。

2-2. 获取用户输入的字符串:

2-2.1. 创建Scanner对象,设置参数:System.in:

  + 提示

Scanner in=new Scanner(System.in);

2-2.2. 调用Scanner的nextLine方法获取用户输入的字符串。

2-2.3. 调用close方法关闭Scanner。

2-3. 计算sh重复出现的次数:

2-3.1. 首先,定义一个整型的计数值变量,用于存储sh在字符串中出现的次数。

2-3.2. 其次,设计字符串的截取代码:

  + 提示

1)截取字符串,建议使用String类中的substring函数。

2)substring共包含两个参数,分别为:截取字符的开始位置,截取字符的结束位置 - 1

3)例如1:"hamburger".substring(4, 8) 结果为: "urge"

4)例如2:"smiles".substring(1, 5) 结果为: "mile"

2-3.3. 随后,设计循环遍历用户输入的字符串:

1)循环初始条件:0(字符串的第0位)。

2)循环边界值:小于字符串长度 – 1(防止substring越界)。

2-3.4. 在循环中做匹配判断:

1)截取字符串,substring的第1个参数为:循环变量。

2)截取字符串,substring的第2个参数为:循环变量 + 2。

3)判断截取的字符串是否等于sh(使用equals函数)。

4)如果是,计数值变量 + 1。

2-4. 打印结果:

2-4.1. 向控制台输出:"sh在字符串中一共出现了" + 计数值 +  "次"

源文件下载   (强烈不建议,建议自己搞明白)(该下载包为eclipse中源文件)

文件1.AppearTime.java

package cn.campsg.java.experiment;import java.util.Scanner;public class AppearTime {public static void main(String[] args) {System.out.print("请输入需要验证的字符串:");Scanner scan = new Scanner(System.in);String s = scan.nextLine();int num = 0;for(int i = 0; i < s.length() - 1; i++) {if(s.charAt(i) == 's' & s.charAt(i + 1) == 'h') {num++;}}System.out.println("sh在字符串中一共出现了" + num +  "次");scan.close();}
}

[部分学校JAVAmooc答题解答] 16版.字符串算法相关推荐

  1. [部分学校JAVAmooc答题解答] 16版.统计年龄

    1.实验要求 本实验要求:从随机产生的200个用户中统计成年用户数. 1-1. 业务说明: 1-1.1. 成年人定义:年龄大于等于18岁的人. 1-1.2. 随机生成200个用户年龄,统计这些用户中成 ...

  2. 算法 64式 16、字符串算法整理

    1算法思想 2 字符串系列 类别-编号 题目 来源 1 替换空格 请事先一个函数,把字符串中的每个空格替换成"%20".例如 例如 输入: We are happy. 输出: We ...

  3. 题目:16版.雇员的工作职责(一)

    题目:16版.雇员的工作职责(一) 1.实验要求 本实验要求:以雇员的日常工作为背景,体验"继承"与"属性复用技术"的运用场景.1-1. 业务说明:1-1.1. ...

  4. 全平台辅助答题(PHP版)

    辅助答题(PHP版) Github 版本记录 第一个版本(QH.php) 使用PhpStorm的PHP Script运行 1.先打开菜单Run->Edit Configurations选项 2. ...

  5. Python天天美味(16) - 过滤字符串的技巧,map与itertools.imap

    Python中的map函数非常有用,在字符转换和字符遍历两节都出现过,现在,它又出现了,会给我们带来什么样的惊喜呢?是不是要告诉我们,map是非常棒的,以后要多找它玩呢? 具体的实例 我们需要在目录中 ...

  6. ABT 节点 1.1.16 版更新日志 | ArcBlock 动态

    2021 年 1 月 16 日,ArcBlock 开发平台 ABT 节点更新至 1.1.16 版. ArcBlock DApp 平台更新日志:2021 年 1 月 16 日 ArcBlock[1]发布 ...

  7. Leetcode算法Java全解答--16. 最接近的三数之和

    Leetcode算法Java全解答–16. 最接近的三数之和 文章目录 Leetcode算法Java全解答--16. 最接近的三数之和 题目 想法 结果 总结 代码 我的答案 暴力破解 滑动列表 大佬 ...

  8. 字符串算法:从入门到劝退

    大家好,我是黄人和,一只小菜鸡.本文长期更新,记得收藏点赞关注三连 前几日王烨程问我KMP的缘故,今天中午他又在问我这个.之所以很久没有回答他,一来是近来事务繁忙,未尝闲暇,二来是我也对字符串算法有点 ...

  9. Python版插入排序算法

    问题描述:在插入排序算法中,把所有元素分为前面的已排序序列和后面的未排序序列两部分,每次处理未排序序列中的第一个元素,将其插入到前面已排序序列中的合适位置,从而不停地扩大已排序序列并缩小未排序序列,直 ...

最新文章

  1. mysql 的not null 与 null的区别(转,恍然大悟)
  2. @getmapping注解的作用_一口气说出6种,@Transactional注解的失效场景
  3. 自定义控件-条状、块状菜单
  4. 聊一聊双十一背后的技术 - 不一样的秒杀技术, 裸秒
  5. 扫描枪连接zebra打印机打印条码标签无需电脑
  6. Luogu P4774 / LOJ2721 【[NOI2018]屠龙勇士】
  7. HTML5学习笔记简明版(11):新API
  8. 计算机语言em,Python:EM(期望极大算法)实战
  9. 腾讯往届笔试面试题整理大全
  10. 伺服舵机匀加速和匀减速程序控制
  11. 工作流引擎的流程业务表设计
  12. java短信平台开源_Java通过SMS短信平台实现发短信功能
  13. 高仿腾讯QQ即时通讯IM项目
  14. 题9.5:有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输人10个 学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号、姓 名、3门课程成绩、平均分数)。
  15. zookeeper的应用和原理
  16. 数学建模题目之在线教学的分析与研究
  17. 安卓古筝软件_新手如何自学乐器|零基础自学小提琴/吉他/电子琴/尤克里里/竖笛/电子鼓软件超详细测评+推荐...
  18. int(size)中的size到底神马意思(mysql)
  19. 白光干涉仪可以用于测量化妆品用的云母材料?
  20. 三、项目分工(华为项目管理法-孙科炎读书摘要)

热门文章

  1. mfc编程 孙鑫_以前的一些mfc的笔记(关于孙鑫的那本书)
  2. Java8 Stream
  3. sqlite3.OperationalError: near “(“: syntax error
  4. CMOS: NAND电压传输特性
  5. C# wpf 实现自定义撤销重做功能
  6. 【Latex】表格样例大全
  7. 【一本通评测 1373】【堆】【贪心】鱼塘钓鱼
  8. 附录A-2 立项调查报告1
  9. 第七章 在Linux搭建简单的web服务器
  10. 编程设计电影海报的色彩/统计电影海报颜色/电影海报数据可视化