Power似乎不适用于BigDecimal(Java)

时间:2017-06-17 15:48:50

标签: java bigdecimal pow

我做了一些代码。到目前为止,我刚刚构建了一个与 BigDecimal 一起使用的do while循环。更确切地说,循环的计数器变量是BigDecimal。我已经付出了很多努力,虽然它可能看起来不那么(它很短)。但那是他们第一次使用这些数字。

因此在这种情况下,循环将重复25次。我接下来要做的就是使用电源。我想做2^counter variable。如何将其构建到我的代码中?

import java.math.BigDecimal;
import java.math.*;

public class MiniDecimals {
    public static void main(String[] args){
        BigDecimal bigCount = new BigDecimal("0");
        BigDecimal bigiMax = new BigDecimal("25"); // we stop the loop when we reach 25
        BigDecimal testPow = new BigDecimal("2");
        int res;
        MathContext mc = new MathContext(10);

        do{
            testPow = testPow.pow(bigCount, mc);
            System.out.println(testPow);

            bigCount = bigCount.add(new BigDecimal(1)); 
            res = bigCount.compareTo(bigiMax); 
        }while(res<0);
    }
}

我收到错误:The method pow(int, MathContext) in the type BigDecimal is not applicable for the arguments (BigDecimal, MathContext)

我已经在互联网上看了这个,但到目前为止没有任何帮助我。有没有办法在不完全更改代码的情况下执行此操作?这不是功课。我只是想了解大整数和双打。

1 个答案:

答案 0 :(得分:2)

pow的第一个参数不是BigDecimal,而是int

(在旁注中,您了解testPow会立即达到并保持为1,是吗?)