java使用32位数字的加减避免StackOverflower错误
我似乎无法用我的最新代码陷入一些递归问题。我在加和减32位的自定义数字。这些数字存储在一个数组中
下面是一些代码来说明我的问题:
public Custom subtract(Custom e) {
if (isPositive(this) && (!isPositive(e))) {
return add(temp);
}
在add方法中:
if (isPositive(this)) {
if (!isPositive(e)) {
if (this.e.array.length >= e2.array.length) {
return subtract(e);
问题是,对于传入的参数,长度始终是常数,符号也始终是常数。我认为我的最佳选择是复制每个自定义对象,并更改符号以满足加法或减法,但这样做时,我会覆盖现有的正确值。有人有什么建议吗
# 1 楼答案
试试看:
其中
negate()
返回其符号翻转的参数