现在在学着循环语句了.在求阶乘的问题上遇到了个问题,求10的阶乘用Int和long都够用,但是求50,.100的阶乘就不够了,我就找到了一个BigInteger能够给无限大,但是我不知道怎么用.查了API也弄不懂,BigInteger不是和Int一样的吗?直接对一个数进行声明.
import java.io.*;
import java.util.Scanner;
public class T1
{
 public static void main(String[] args)
 {
  BigInteger jc=1;
  int i=1;
  int a;
  System.out.println("请输入要求阶乘的数:");
  Scanner sc=new Scanner(System.in);
  a=sc.nextInt();
  while(i<=a)
  {
   jc*=i;
   i++;
  }
  System.out.println("输入的数的阶乘是:"+jc);
 }
}
java

解决方案 »

  1.   


    public class Test
    {
    public static void main(String[] args)
    { BigInteger jc = BigInteger.valueOf(1);
    int i = 1;
    int a;
    System.out.println("请输入要求阶乘的数:");
    Scanner sc = new Scanner(System.in);
    a = sc.nextInt();
    while (i <= a)
    {
    jc = jc.multiply(BigInteger.valueOf(i));
    i++;
    }
    System.out.println("输入的数的阶乘是:" + jc); }
    }
      

  2.   

    噢,我弄错了,看了API才知道是要import java.math.BigInteger这样导入的
    ,搞定了,谢谢啊