import java.util.Scanner;
import java.math.BigInteger;
public class T5
{
public static void main(String[] args)
{
int a;
int b=1;
System.out.println("请输入要求阶乘的数:");
Scanner sc=new Scanner(System.in);
a=sc.nextInt();
BigInteger d=BigInteger.valueOf(1);
do
{
d=d.multiply(BigInteger.valueOf(b));
b++;
}while(b<=a);
System.out.println("所求的数的阶乘是:"+d);
}
}
求阶乘问题用do-while和while语句会用,但是用for的话该怎么写?我是卡在for(a;b;c)这里不会,我知道a是初始语句,b是跳出循环的条件语句,c是增量语句,但初始的赋值的语句多了怎么办?就这里不懂java

解决方案 »

  1.   

    现在再想想for语句的问题的时候,我好像觉得做这几个语句并不是说每个方法都需要用到,而是说要我们选择哪个比较好而已,应该是这样了,这样折腾了几遍又多了一点认识
      

  2.   

    BigInteger d = BigInteger.valueOf(1);
    for(;b <= a; b ++ )
    {
    d = d.multiply(BigInteger.valueOf(b));
    }System.out.println("所求的数的阶乘是:" + d);
      

  3.   

    三楼写的在for里面(;b<=a;b++)括号里的第一个分号是什么意思?这个不懂
      

  4.   

    http://www.cnblogs.com/birdshover/archive/2008/08/04/1260499.html
    一般这种问题能百度谷歌解决尽量自己解决,像这些博文一般讲的比较全,也有例子,LZ可以看看
      

  5.   

    第一个分号前没有语句,也就是没有初始语句。直接写分号是告诉系统,b<=a是判断条件