题目:16版.字符串算法

news/2024/11/20 21:34:31/

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在字符串中一共出现了" + 计数值 +  "次"

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


http://www.ppmy.cn/news/54055.html

相关文章

c++标准模板(STL)(std::array)(三)

定义于头文件 <array> template< class T, std::size_t N > struct array;(C11 起 std::array 是封装固定大小数组的容器。 此容器是一个聚合类型&#xff0c;其语义等同于保有一个 C 风格数组 T[N] 作为其唯一非静态数据成员的结构体。不同于 C 风格数组…

go破冰之旅·6·go中各种运算符(一)

一次5-10分钟即可搞定&#xff0c;实用效率&#xff01; 回顾一下&#xff0c;上文&#xff1a;go破冰之旅5常量、变量、数据类型 提到了go中常量、变量、数据类型这些基础元素&#xff0c;本文来看看go中各种运算符是怎么玩的。 因篇幅及时长关系&#xff0c;本文对算术运算…

学生无线耳机哪款好?两百左右适合学生党的无线耳机推荐

学生无线耳机哪款好&#xff1f;现如今&#xff0c;学生党也成为了蓝牙耳机的主要用户群体之一。接下来&#xff0c;我来给学生群体推荐几款两百左右的无线耳机&#xff0c;一起来看看吧。 一、南卡小音舱Lite2蓝牙耳机 参考价&#xff1a;299 南卡小音舱的音质和佩戴体验都在…

ChatGPT 目前到底能帮助我们程序员做什么?

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;web开发者、设计师、技术分享博主 &#x1f40b; 希望大家多多支持一下, 我们一起进步&#xff01;&#x1f604; &#x1f3c5; 如果文章对你有帮助的话&#xff0c;欢迎评论 &#x1f4ac;点赞&#x1…

视频文件切片

1.为什么网络点播系统使用m3u8更有优势?为何点播要用M3U8来搞&#xff1f;存成一个文件不更好吗&#xff1f; 一个MP4文件可能几百M或几个G&#xff0c;如果读取整个MP4文件的信息并且需要下载一段内容&#xff0c;首次打开播放超慢&#xff08;加载时间长&#xff09;。如果把…

asp.net个人信息管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net个人信息管理系统 是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言 开发 asp.net个人信息管理系统VS开发s…

【C++】面向对象

文章目录 3.1 类与对象3.1.1 类成员的访问控制3.1.2 类的成员函数对象的访问方式成员函数的实现内联成员函数 3.1.3 构造函数复制构造函数调用复制构造函数的三种情况深复制与浅复制&#xff1f; 析构函数类的组合 3.1.4 前向引用声明3.1.5 结构体与类对比3.1.6 UML类图属性表示…

Linux系统编程学习 NO.1 ——操作系统的历史发展

什么是操作系统&#xff1f; 首先&#xff0c;需要明白一个概念操作系统的本质是系统软件&#xff0c;我们平时在电脑上的界面就是一种图形化的操作系统界面。界面上通常安装可执行应用程序如QQ&#xff0c;wps等等&#xff0c;这些应用程序被称为应用软件。大家买的电脑其实是…