我試圖解決項目歐拉#26,我使用正則表達式來解決 的問題,但編譯我得到方法沒有發現錯誤時java的正則表達式編譯和匹配找不到符號錯誤
import java.lang.*;
import java.math.*;
import java.util.regex.*;
class Pattern {
public static void main(String args[]) {
int count = 0;
String regex = "(//d+?)//1)";
Pattern p = Pattern.compile(regex); //cannot find symbol compile
BigDecimal b = new BigDecimal("1");
for (int i = 1; i <= 10; i++) {
BigDecimal b1 = new BigDecimal(i);
String elem = b.divide(b1, 15, RoundingMode.HALF_UP).toString();
Matcher match = p.matcher(elem); //cannot find symbol matcher
while (match.find()) {
int x = match.start() - match.end();
if (x > count)
count = x;
}
}
System.out.println("the highest count is" + count);
}
}
除了在@ Peter777答案中指出的錯字,您的[代碼沒有錯誤地工作](http://rextester.com/UAD40418)。我不認爲你實際上看到了你在問題中發佈的錯誤。也許這是由以前的代碼產生的。 –
'import java.lang。*;' - 不需要 –
@ScaryWombat編譯,但不會運行,由於錯字:'String regex =「(// d +?)// 1)」;' –