一、获取输入字符串中最长数字串及其长度
//获取输入字符串中最长数字串及其长度
private static void work_2() {
int lastIndex = 0;//最长数字串尾下标
int maxLen = 0;
Scanner input = new Scanner(System.in);
System.out.print("输入总字符串:");
String str = input.nextLine();
int len = 0;//当前数字串长度
//遍历字符串
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
if(Character.isDigit(ch)) {//当当前遍历字符为数字时
len++;//记录的数字长度加1
// maxLen = Math.max(maxLen, len);
//当遍历的数字长度大于记录最大长度时
if(len > maxLen) {
maxLen = len;//更改最大长度记录
lastIndex = i;//改变最长数字尾下标
}
}else {//如果遍历的字符不是数字,则当前数字串长度初始化为0
len = 0;
}
}
System.out.println("最长数字串长度:" + maxLen);
//通过尾部坐标和长度截取符合条件的字符串
System.out.println("最长数字串:" + str.substring(lastIndex + 1 - maxLen, lastIndex + 1).toString());
}
二、反转指定字符串
//反转指定字符串
private static void work_3() {
String str1 = "abcdefghijklmnopqrstuvwxyz";
String str2 = "mnopqrstuvwx";
//打印反转前输出
System.out.println("反转前:" + str1);
//首先反转指定字符串
StringBuffer sb = new StringBuffer();
//从字符串最后开始遍历需要反转的字符串
for (int i = str2.length() - 1; i >= 0; i--) {
sb.append(str2.charAt(i));//将遍历得到的字符串添加进行StringBuffer中
}
//获取反转后字符串
String str3 = sb.toString();
//替换反转的部分字符串
str1 = str1.replace(str2, str3);
//打印反转后输出
System.out.println("反转后:" + str1);
}
三、获取指定字符串的出现次数和出现坐标
//获取指定字符串的出现次数和出现坐标
private static void work_4() {
Scanner input = new Scanner(System.in);
System.out.print("输入被查找字符串:");
String A = input.nextLine();
System.out.print("输入查找字符串:");
String B = input.nextLine();
//记录B出现坐标
List<Integer> indesList = new ArrayList<Integer>();
//记录当前坐标
int index = 0;
//获取第一次坐标
index = A.indexOf(B);
indesList.add(index);
//死循环
while(true) {
//从上一次出现的坐标开始向后移动B.length()长度继续查找
index = A.indexOf(B,index + B.length());
if(index == -1) break;//如果找不到下一个相同字符串,则结束循环
indesList.add(index);//否则记录当前坐标
}
//打印列表长度,即出现次数
System.out.println("需要查找的字符串出现次数:" + indesList.size());
//打印列表,即出现的坐标
System.out.println("需要查找的字符串坐标列表:" + indesList.toString());
}
四,测试
1.获取输入字符串中最长数字串及其长度测试
![](https://i-blog.csdnimg.cn/blog_migrate/b2962a1537dd3f8b2542cae3c0b8f653.png)
2.反转指定字符串测试
![](https://i-blog.csdnimg.cn/blog_migrate/c527428b5f1fe2684ae90f4d2222eb9d.png)
3.获取指定字符串的出现次数和出现坐标测试
![](https://i-blog.csdnimg.cn/blog_migrate/d2b63f441f763266824d81e79f0eeb5a.png)