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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

6.定义一个计算n!的类Fact,然后主类中创建一个对象求解4!的值。

7 个回复

倒序浏览
什么题目 不懂
回复 使用道具 举报
class Fact
{
        public static void act(int i)
        {
                for(int x=i-1;x>0;x--)
                {
                        i=i*x;
                }
                System.out.println(i);
        }
}

class  DemoA
{
        public static void main(String[] args)
        {
                Fact.act(4);
        }
}
这是个阶乘的代码。大致可以解决你的问题。

评分

参与人数 1技术分 +1 收起 理由
艺多不压身丶 + 1 赞一个!

查看全部评分

回复 使用道具 举报
殷俊 发表于 2015-3-15 01:05
class Fact
{
        public static void act(int i)

谢谢啦!:lol
回复 使用道具 举报
  1. /**
  2. *         定义一个计算n!的类Fact,然后主类中创建一个对象求解4!的值。
  3. *
  4. *  分析:
  5. *          n!是求 n的阶乘
  6. *          n! = n*(n-1)*(n-1)*...*1;
  7. *          定义变量记录乘积值
  8. *          将要求阶乘的数值作为参数传递给求阶乘的方法
  9. */
  10. package com.itheima;

  11. /**
  12. * @author 面具
  13. *
  14. */
  15. class Fact {
  16.         public int getFact(int n) {
  17.                 // 定义变量记录值
  18.                 int factorial = 1;
  19.                 // 循环取值1-n之间
  20.                 for (int a = 1; a <= n; a++) {
  21.                         // 求阶乘 , 第一个循环 factorial = 1*1 第二个循环 为factorial*2,直到factorial*n
  22.                         factorial *= a;
  23.                 }
  24.                 return factorial;
  25.         }
  26. }
  27. public class FactDemo{
  28.         public static void main(String[] args) {
  29.                 Fact f = new Fact();
  30.                 int factorial = f.getFact(4);
  31.                 System.out.println(factorial);
  32.         }
  33. }
复制代码
回复 使用道具 举报
开始不用急啊,因为这是算法问题,不是不java语言的问题,所以建议楼主要把常用算法看看
回复 使用道具 举报
佟金 中级黑马 2015-3-15 08:59:23
7#
是这样的
回复 使用道具 举报
简单的for循环就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马