![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/63d0f703918fa0ec474788cf219759ee3c6ddb74?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
接口: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));
}
}
追问有错误啊,
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/342ac65c1038534347932de59413b07ecb808892?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
追答因为包名: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
哥们,你的Java基础让人着急啊
1.你编程用
Eclipse工具么
2.如果用Eclipse工具,那么先在工具中运行一下上面的程序
2.如果没有Eclipse工具
3.用 javac java命令的话,首先把上面的四个java文件拷贝到你的/my program/目录下
4.myprogram>javac Factorialmp. java
javac FactorialAbc. java
javac Factorial. java
javac Test. java
然后再执行
java Test