JAVA语言 采用面向对象程序设计思想编写程序计算 n!,要求使用接口 和抽象类实现。急求全部代码

2024-11-18 01:34:22
推荐回答(1个)
回答(1):

  1. 接口:FactorialImp

  2. 抽象类:FactorialAbs

  3. 实现计算阶乘n!的类:Fatorial

代码:

/**
 * 
 * 阶乘计算器
 * 
 * 接口
 */
public interface FactorialImp {
// 计算阶乘n!的值
long factorial(int n);
}

/**
 * 
 * 阶乘计算器
 * 
 * 抽象类 继承 FactorialImp
 */
public abstract class FactorialAbs implements FactorialImp {
/**
 * 实现计算阶乘n!的值的方法
 */
public long factorial(int n) {
return multiplicationCount(n, n - 1);
}

/**
 * 增加抽象方法--计算两数相乘
 * 
 * @param param1Int
 * @param param2Int
 * @return 两数相乘的积
 */
abstract long multiplicationCount(long param1Int, long param2Int);

}


/**
 * 实现阶乘计算器类
 * 
 */
public class Fatorial extends FactorialAbs {


@Override
long multiplicationCount(long param1Int, long param2Int) {
if (param2Int == 1) {
return param1Int;
} else {
return multiplicationCount(param1Int * param2Int, param2Int - 1);
}

}

}

/**
 * 测试类
 * 
 */
public class Test {

public static void main(String[] args) {
Fatorial localFatorial = new Fatorial();
System.out.println("100! = " + localFatorial.factorial(10));
}

}