JAVA语言 采用面向对象程序设计思想编写程序计算 n!,要求使用接口 和抽象类实现。急求全部代码
1个回答
展开全部
接口:FactorialImp
抽象类:FactorialAbs
实现计算阶乘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));
}
}
更多追问追答
追答
因为包名:com.chap0
在当前目录下建立目录:com/chap0
把四个java文件FactorialImp.java FactorialAbs.java Factorial.java Test.java拷贝到目录com/chap0/下
在当前目录执行javac命令
>javac com/chap0/FactorialImp.java
>javac com/chap0/FactorialAbs.java
>javac com/chap0/Factorial.java
>javac com/chap0/Test.java
会在com/chap0/目录下生层四个class文件
FactorialImp.classs FactorialAbs.class Factorial.class Test.class
然后在当前目录下执行java命令
>java com.chap0.Test
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询