【发布时间】:2019-01-29 17:33:12
【问题描述】:
如何使用 Java 8 Stream/Lambda 计算整数中尾随零的数量?
基本上逻辑应该是:保持整数除以10,只要余数是0(商将提供给下一个除法)并计算出现次数。
例如
12300 % 10 == 0true
1230 % 10 == 0true
123 % 10 == 0false
回答:2
注意:我不想在这里涉及 String :-)
【问题讨论】:
-
Integer类中有一个方法... -
@Eugene,我相信
Integer.numberOfTrailingZeros方法适用于二进制级别,而不是 OP 要求的十进制。还是您的意思是其他方法? -
@Saikat,我相信 Java8 流不是为这种使用场景而设计的。你有什么特别的理由使用
Stream而不是一个简单的for循环来实现它吗? -
我只是想知道这是否可能 :) @SergGr
Number.numberOfTrailingZeros是一个很好的启示;)我需要做的就是将其转换为十进制(正如您正确指出的那样) -
我的意思是here 是
Stream版本,但它涉及到String的转换
标签: java algorithm lambda java-8 java-stream