2

我正在制作 BCD 课程作为学校的练习,并且遇到了一些问题。下面是我的 BCD 课。

我的问题是 multiplyBCDs 方法。它适用于较小的数字,例如 4,329 * 4,但是,对于较大的产品,例如 4,329 和 29,385 的产品,我在 addBCDs 方法的第一行收到 NullPointerException 错误:

int[] added = new int[other.numberOfDigits()];

我已经尝试追溯问题,但找不到问题。为什么我会收到此错误,我该如何解决?

谢谢您的帮助!

4

2 回答 2

0
int[] added = new int[other.numberOfDigits()];

在该行上获得 NPE 的唯一方法是 ifother为空。

于 2014-11-05T21:07:31.570 回答
0

在方法中:

public BCD multiplyBy(int num)

在最后一个 else 语句中,从未满足以下条件:

if (x == digits.length - 1 && carry != 0)

所以“ans”永远不会被设置并保持为空。

于 2014-11-05T22:11:18.490 回答