如何将大整数值增加1 [重复项]

问题描述 投票:-5回答:2
我一直在开发一个程序,处理的数字大于可能包含的长整数,所以我正在使用Big Integers。但是,当我键入一行代码时,应该将变量值增加1,它表示.equals被忽略,并且按我的想法工作。我做错了什么?

variable.equals(variable.add(new BigInteger ("1")));

java biginteger
2个回答
2
投票
equals方法从某种意义上告诉您两个对象是否“等效”,因此它类似于==运算符。您要查找的是

assignment运算符。没有办法,只需使用=

而且,您不必创建新的BigInteger。只需使用BigInteger.ONE

variable = variable.add(BigInteger.ONE);


2
投票
类似于StringIntegerBigInteger是不可输入的。

add方法不会更改variable,而是返回具有更改后的值的新BigInteger。您的equals始终为假

所以您要做的是

variable = variable.add(new BigInteger("1"));

将更改变量。

在相关说明上,请勿使用.equals比较两个BigIntegersvariable.compareTo(other) == 0

© www.soinside.com 2019 - 2024. All rights reserved.