Друг дал мне этот фрагмент кода и сказал, что в нем есть ошибка. И да, этот код работает вечно.
Я получил ответ:
Он работает> 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, у вас есть какие-нибудь предложения?