我怎样才能只显示输出的特定数字? 我如何从bigInteger中删除0?
我的例子:
有一项任务是显示数字的阶乘的最后一个数字不是0。
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setTypeface(android.graphics.Typeface)' on a null object reference
现在它只显示阶乘。
Example:
1! = 1
2! = 2
3! = 6
4! = 4
5! = 2
6! = 2
示例vol2 - >在这里,我需要一个从biginteger中删除0的解决方案:
import java.math.BigInteger;
import java.util.Scanner;
public class Main{
// Returns Factorial of N
static BigInteger factorial(int N){
// Initialize result
BigInteger f = new BigInteger("1"); // Or BigInteger.ONE
// Multiply f with 2, 3, ...N
for (int i = 2; i <= N; i++)
f = f.multiply(BigInteger.valueOf(i));
return f;
}
// Driver method
public static void main(String args[]) throws Exception
{
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
System.out.println(factorial(n));
}
}
是否有一种简单的方法可以从一个数字中删除所有0?这将是解决问题的最简单方法
答案 0 :(得分:5)
您可以将您的号码转换为字符串并删除零。然后你把它放回BigInteger
:
public static BigInteger removeZeroes(int i) {
return new BigInteger(String.valueOf(i).replace("0", ""));
}