Java 函数查找a^b的余数,其中a、b是正整数

Java 函数查找a^b的余数,其中a、b是正整数,java,algorithm,Java,Algorithm,我用下面的代码解决了这个问题,但我在下面的一行中得到了一个NullPointerException println(fastMod(a,b,biginger.TEN)) 我在返回一个大整数值时得到NullPointerException。 请建议并帮助我。谢谢 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter

我用下面的代码解决了这个问题,但我在下面的一行中得到了一个NullPointerException println(fastMod(a,b,biginger.TEN))

我在返回一个大整数值时得到NullPointerException。 请建议并帮助我。谢谢

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.StringTokenizer;


public class ModularExponential {
    static StringTokenizer st; 
    static BufferedReader br;
    static PrintWriter pw;

private static BigInteger fastMod(BigInteger base, BigInteger exponent,BigInteger modulo) {

    BigInteger result = BigInteger.ONE;
    while (BigInteger.ZERO.compareTo(exponent) > 0) {
        if (exponent.testBit(0)) 
            result = (result.multiply(base)).mod(modulo);
        exponent = exponent.shiftRight(1);
        base = (base.multiply(base)).mod(modulo);
    }
    return result.mod(modulo);
}

public static String next() throws IOException{
    while(! st.hasMoreTokens())
        st = new StringTokenizer(br.readLine());
    return st.nextToken();
}
public static void main(String[] args) throws IOException{
    st = new StringTokenizer("");
    BigInteger a,b;
    br = new BufferedReader(new InputStreamReader(System.in));
    int T = Integer.parseInt(br.readLine());
    while(T-- > 0) {
        a = new BigInteger(next());
        b = new BigInteger(next());
        pw.println(fastMod(a,b,BigInteger.TEN));
    }

}

}

您的
PrintWriter pw
null
。您没有在任何地方初始化它

e、 g.
pw=新的PrintWriter(System.out)


打印标准输出上的内容。

您的
PrintWriter pw
null
。您没有在任何地方初始化它

e、 g.
pw=新的PrintWriter(System.out)


打印标准输出上的内容。

类似于
pw=新的PrintWriter(…)丢失。将
pw
更改为
System.out
进行测试。顺便说一下,我认为内置的modPow函数与您的fastMod函数的功能相同。类似于
pw=new PrintWriter(…)丢失。将
pw
更改为
System.out
进行测试。顺便说一下,我认为内置的modPow函数与您的fastMod函数的功能相同。