我正在上BCD班作为学校的练习,我遇到了一些问题。以下是我的BCD课程。
我的问题在于multiplyBCDs方法。 它适用于较小的数字,例如4,329 * 4,但是,对于较大的产品,例如4,329和29,385的产品,我在addBCDs方法的第一行收到NullPointerException错误:
int[] added = new int[other.numberOfDigits()];
我试过回溯问题但找不到问题。为什么我收到此错误,我该如何解决?
感谢您的帮助!
答案 0 :(得分:0)
int[] added = new int[other.numberOfDigits()];
唯一可以在该行上获得NPE的方法是other
为空。
答案 1 :(得分:0)
在方法中:
public BCD multiplyBy(int num)
在最后一个else语句中,永远不会满足以下条件:
if (x == digits.length - 1 && carry != 0)
所以“ans”永远不会被设置并保持为空。