刚学语言的时候都知道每个常用数据类型都有范围,但是想计算大数阶层的话这个范围肯定是不够的,那么就得自己写方法把数字按字符串的形式来保存然后再进行运算,但是随着学习的越来越深,了解java提供的一些包比如处理这类问题需要的math包BigInteger类,这个类提供了 add subtract multiple divide remainder 分别为加减乘除 取余 这题中主要用multiple方法。代码如下。
import java.math.BigInteger;
import java.util.Scanner;
public class 大数乘法 {
public static void main(String[] args) {
System.out.println("某个数的阶层!");
Scanner input =new Scanner(System.in);
int x=input.nextInt();
System.out.println(x+"!="+factorial(x));
}
public static BigInteger factorial(long x){
BigInteger result=BigInteger.ONE;
for(int i=1;i<=x;i++){
result=result.multiply(new BigInteger(i+""));
}
return result;
}
}
BigInteger result=BigInteger.ONE;这句就是给这个变量初始化一个值。