
我更侧重使用Java😊但是C++C语言也行呦额希望能提点一下🤓能够多点注释就好啦~
通过String类的indexOf()方法不断循环查找从输入获得的字符串即可。代码如下:
参考链接:
几句话直观理解java中Scanner类的next()、nextLine()、nextInt()_寒冢人家的博客-CSDN博客_java scanner.next
Java中字符串中子串的查找共有四种方法(indexof())_PrinciplesMan的博客-CSDN博客_java字符串查找子串
Java最全截取字符串方法_一轻舞浅唱的博客-CSDN博客_java截取字符串中的一部分
import java.util.Scanner;
public class Findupup {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
//https://blog.csdn.net/weixin_52459924/article/details/123538356
//从输入获取一个字符串
String str = sc.next();
int num=0; //连续的"upup"个数
//https://blog.csdn.net/u010227042/article/details/118221413
int position = str.indexOf("upup"); //从字符串查找第一次出现"upup"的位置
//如果找到了,则继续查找下一个"upup"
while(position!=-1) {
num++; //连续的"upup"计数+1
//https://blog.csdn.net/whitek387/article/details/122948670
//System.out.println("position="+position+",num="+num+",str(position+2)="+str.substring(position+2));
//查找下一个位置是否有连续的"upup",从当前查找到的"upup"第三个字符'u'位置往后查找,直到再没有找到连续的"upup"
position = str.indexOf("upup", position+2);
//System.out.println("position="+position+",num="+num);
}
System.out.println("共有"+num+"个'upup'");
}
}
