用java编写一个字符串的程序,找出连续出现三次的字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java编写一个字符串的程序,找出连续出现三次的字符相关的知识,希望对你有一定的参考价值。
急求 望各位大神帮忙
java找出连续出现三次的字符,可以使用正则表达式,如下代码:
import java.util.regex.Pattern;
public class CeShi
public static void main(String[] args)
// 定义一个字符串
String string = "adfaasfwqpkwefapadgjqw";
// 遍历字符串的所有字符
for (int i = 0; i < string.length(); i++)
// 取得第i个字符,也可以用Character.toString(string.charAt(i));
String s = string.substring(i, i + 1);
// 如果通过s在这个字符串中出现了至少3次,输出该字符
if (Pattern.matches(".*" + s + ".*" + s + ".*" + s + ".*", string))
System.out.println(s);
运行结果如下:
Pattern pattern = Pattern.compile("
\\\\w3
, str.length");
Matcher matcher = pattern.matcher(str);
while(matcher.find())
// 打印连续出现三次的字符~
System.out.println(matcher.group());
追问
确定表达式没有问题么?
为什么我照搬执行报Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed counted closure near index 6
\w3,str.length?
String str = "what is yourrrr name?";
// 注意这句要在一行
Pattern pattern = Pattern.compile("(
\\\\w)\\\\13
,");
Matcher matcher = pattern.matcher(str);
while (matcher.find())
// 打印连续出现三次的字符~
System.out.println(matcher.group());
参考技术B
用正则表达式吧,方法不唯一
//定义一个字符串String string="adfaasfwqpkwefapadgjqw";
//遍历字符串的所有字符
for(int i=0;i<string.length();i++)
//取得第i个字符,也可以用Character.toString(string.charAt(i));
String s= string.substring(i, i + 1);
//如果通过s在这个字符串中出现了至少3次,输出该字符
if(Pattern.matches(".*" + s+ ".*" + s + ".*" + s+".*" ,string))
System.out.println(s);
其中.代表任意字符,当然也可以包含s。*表示0个或多个。.*连起来就是任意多个任意字符的意思。然后拼接字符串表示s至少出现3次,前后、中间可以是任意字符,也可以什么都没有。
我要的是连续出现3次的字符,亲~你的正则表达式只能打印总共出现3次的字符~
追答。。。。题目看错了-_-!
if判断替换成
Pattern.matches(".*" + s+ s + s+".*" ,string)也可以用
string.indexOf(s+s+s)!=-1本回答被提问者和网友采纳2022-11-25:连续出现的数字。编写一个 SQL 查询,查找所有至少连续出现三次的数字。 答案是输出1,原因是1是唯一连续出现三次的数字。 DROP TABLE IF EXISTS logs;
2022-11-25:连续出现的数字。编写一个 SQL 查询,查找所有至少连续出现三次的数字。
答案是输出1,原因是1是唯一连续出现三次的数字。
DROP TABLE IF EXISTS logs;
CREATE TABLE logs (
id int(11) NOT NULL,
num int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO logs VALUES ('1', '1');
INSERT INTO logs VALUES ('2', '1');
INSERT INTO logs VALUES ('3', '1');
INSERT INTO logs VALUES ('4', '2');
INSERT INTO logs VALUES ('5', '1');
INSERT INTO logs VALUES ('6', '2');
INSERT INTO logs VALUES ('7', '2');
答案2022-11-25:
sql语句如下:
SELECT DISTINCT
l1.num AS ConsecutiveNums
FROM
logs l1,
logs l2,
logs l3
WHERE
l1.id = l2.id - 1
AND l2.id = l3.id - 1
AND l1.num = l2.num
AND l2.num = l3.num
执行结果如下:
以上是关于用java编写一个字符串的程序,找出连续出现三次的字符的主要内容,如果未能解决你的问题,请参考以下文章