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();
}
}