

はじめてスタックオーバーフローを使いますよろしくお願いします。

[code]

    private boolean isPrime(BigInteger num) {
            if (num.compareTo(BigInteger.valueOf(2)) < 0) {
                return false;
            }
            for (BigInteger i = BigInteger.valueOf(2); i.compareTo(num.sqrt()) <= 0; i = i.add(BigInteger.ONE)) {
                if (num.mod(i).equals(BigInteger.ZERO)) {
                    return false;
                }
            }
            return true;
        }
    
[/code]


CC BY-SA 4.0
2023-04-23T04:58:49.343
94620
2023-04-23T05:14:02.633
2023-04-23T05:03:16.783
3060
58032
question
java
このコードのsqrtの部分でCannot resolve methodと出るのですがどうすればいいのでしょうか


`BigInteger.sqrt()`はJava9からサポートされています。

>
> <https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/math/BigInteger.html#sqrt()>
>
> (sinceの箇所を参照)

利用しているJDKのバージョンを9以上にするとよいと思います。


CC BY-SA 4.0
2023-04-23T05:14:02.633
94621
2023-04-23T05:14:02.633
20098
94620
answer