题目:16版.字符串算法-答案代码(java)

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) {
	 System.out.println("请输入需要验证的字符串:");
	 Scanner in=new Scanner(System.in);
	 String A=in.nextLine();
	 in.close();
	 int count=0;
	 for(int i=0;i<A.length()-1;i++) {
		 if(A.substring(i, i+2).equals("sh")) {
			 count++;
		 }
	 }
	 System.out.println("sh在字符串中一共出现了" + count +  "次" );
 }
}

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值