A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 雷丹 中级黑马   /  2013-10-24 15:31  /  986 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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是增量语句,但初始的赋值的语句多了怎么办?

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

4 个回复

倒序浏览
  1. import java.util.*;
  2. class Test
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 int sum = 1;
  7.                 System.out.println("请输入要求阶乘的数:");
  8.                 Scanner sc=new Scanner(System.in);
  9.                  int a=sc.nextInt();
  10.                 System.out.println(a);
  11.                 //System.out.println(sc);
  12.                 for(int x=1;x<=a;x++)
  13.                 {
  14.                         sum = sum*x;
  15.                 }
  16.                 System.out.println(sum);
  17.         }
  18. }
复制代码
回复 使用道具 举报 1 0
楼主你好,如果问题已解决请将帖子状态修改为提问结束,

如果未解决请继续提问,谢谢合作

修改方法请看解释帖:http://bbs.itheima.com/thread-89313-1-1.html
回复 使用道具 举报
一针见血地回答你得问题
int  product=1;
for(int i=a;i>0;i--)
{   
     product*=i;
     i--;
}
syso("阶乘为:"+product);

哥么基础还是很重要的哦
好好学习,不懂得可以问我哦

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
楼上的两个都为正解,同样给补充一个小知识,死循环的两种写法:while(1){};for(;;){},欧了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马