自制BCD类 - 乘以BCD错误

时间:2014-11-05 20:41:04

标签: multiplication addition bcd

我正在上BCD班作为学校的练习,我遇到了一些问题。以下是我的BCD课程。

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

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

我试过回溯问题但找不到问题。为什么我收到此错误,我该如何解决?

感谢您的帮助!

2 个答案:

答案 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”永远不会被设置并保持为空。