我们有List<Integer> lista=new Arraylist<>();
where list 的大小为 n 并且在每个位置它都有一个整数,即lista.get(0)==2,lista.get(1)==8...,lista.get(n)==6
。
我想将一个整数(比如k)乘以构成列表的整数,即k *(28...6)。
我怎么能做到?
我们有List<Integer> lista=new Arraylist<>();
where list 的大小为 n 并且在每个位置它都有一个整数,即lista.get(0)==2,lista.get(1)==8...,lista.get(n)==6
。
我想将一个整数(比如k)乘以构成列表的整数,即k *(28...6)。
我怎么能做到?
要连接所有元素,您可以遍历列表并使用
.append(Int n)
StringBuilder方法。在游览结束时,StringBuilder 将具有数字的连接作为值,您可以使用创建一个整数
Integer.valueOf(String string)
该操作
valueOf
是不安全的,它会抛出NumberFormatException对于像“12a1”或“12-12”这样的字符串,所以如果你有负值你会得到这样的异常。反过来,正如@Arie CwHat在@Einer 的回答中评论的那样,从可变数量的数字创建a并且可能大于最大精度并不是一个好主意。
Integer
为了避免这个问题,我们可以使用
BigInteger
,它没有定义的最大精度,但可以从-2^Integer.MAX_VALUE
(不包含)增长到2^Integer.MAX_VALUE
(包含),其中Integer.MAX_VALUE = 2^32 - 1
(提取自是否存在到 biginteger 的上限?)那么你将不得不连接列表中的每个数字,然后将其转换为
double
:连接
n
元素列表很可能会超过这个最大 Integer 值,因此我使用它double
来避免由于2 147 483 648
九位数的 Integer 限制而导致的堆栈溢出。更新:
您还可以使用
BigInteger
没有定义限制的类,例如double
:这是您如何做到这一点的示例:(但还有许多其他方法)