一个朋友给了我这段代码,并说有一个错误。是的,这段代码会一直运行。
我得到的答案是:
在打印任何东西之前,它将运行>10 ^ 15年。
public class Match {
public static void main(String[] args) {
Pattern p = Pattern.compile("(aa|aab?)+");
int count = 0;
for(String s = ""; s.length() < 200; s += "a")
if (p.matcher(s).matches())
count++;
System.out.println(count);
}
}
我不太明白为什么会出现这种情况,因为我是Java新手,你有什么建议吗?