gpt4 book ai didi

java - 仅打印给定字符串中的 3 个连续字符

转载 作者:行者123 更新时间:2023-11-30 06:03:41 24 4
gpt4 key购买 nike

我只想打印给定字符串中的 3 个相同的连续字符,如下所示如果输入是:

"aasssfddddvvv"

然后我应该得到输出作为输出:

sss
vvv
count=2

这是我的要求,请帮助我。

我的代码:

import java.util.Scanner;

class Test {

public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
System.out.println("Enter the String: ");
char s[] = scan.nextLine().toCharArray();

for (int i = 0; i < s.length - 1; i++) {

if (s[i] == s[i + 1] && s[i] == s[i + 2] && s[i] == s[i + 3]) {
System.out.println(s[i]);

}
}
scan.close();
}
}

最佳答案

这个答案与OP中使用的更手动的方法不同。但是,使用 Java 中的正则表达式模式匹配器处理起来相当简单。我们可以匹配模式 (.)\\2*,以捕获所有相似字母组。然后,打印出仅出现 3 个的组。

String line = "aasssfddddvvv";
String pattern = "((.)\\2*)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(line);

while (m.find()) {
if (m.group(1).length() == 3) {
System.out.println(m.group(1));
}
}

sss
vvv

Demo

关于java - 仅打印给定字符串中的 3 个连续字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51701366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com