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

 我来答
期待后续
2016-05-30 · TA获得超过243个赞
知道小有建树答主
回答量:269
采纳率:33%
帮助的人:179万
展开全部

  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));
}

}
更多追问追答
追问

有错误啊,

追答
  1. 因为包名:com.chap0

  2. 在当前目录下建立目录:com/chap0

  3. 把四个java文件FactorialImp.java FactorialAbs.java Factorial.java Test.java拷贝到目录com/chap0/下

  4. 在当前目录执行javac命令

  5. >javac com/chap0/FactorialImp.java

  6. >javac com/chap0/FactorialAbs.java

  7. >javac com/chap0/Factorial.java

  8. >javac com/chap0/Test.java

  9. 会在com/chap0/目录下生层四个class文件

  10. FactorialImp.classs FactorialAbs.class Factorial.class Test.class 

  11. 然后在当前目录下执行java命令

  12. >java com.chap0.Test

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式