package HomeWork_10;
public class Test_06 {
/*6.(*)按如下要求编写Java程序:
(1)编写一个接口:OneToN,只含有一个方法int dispose(int n)。
(2)编写一个非抽象类Sum来实现接口OneToN,实现int dispose (int n)接口方法时,要求计算1 + 2 + … + n。
(3)编写另一个非抽象类Pro来实现接口OneToN,实现int dispose (int n)接口方法时,要求计算1 * 2 * … * n。
(4)编写测试类Test,在main方法中使用接口回调技术来测试实现接口的类。
* */
public static void main(String[] args) {
Sum s1 =new Sum();
System.out.println("累加:"+s1.disposr(4) );//在括号内输入要求的数
Pro s2 =new Pro();
System.out.println("阶乘和:"+s2.disposr(4) );//在括号内输入要求的数
}
}
interface OneToN{
int disposr(int n);
}
class Sum implements OneToN{//求累加1+2+3+4
public int disposr(int n){
int sum=0;
for(int i=1;i<=n;i++){//循环的次数
sum += i ;
}
return sum;
}
/* public int dispose(int n){//第二种方法
if(n == 1){
return 1;
}else{
return n + dispose(n-1);
}
}
* */
}
class Pro implements OneToN{//求阶乘1*2*3*4=33
public int disposr(int n){
int sum=0;int tmp=1;
for(int i =1;i<= n;i++){
sum += (tmp *= i);
}System.out.println("阶乘:"+tmp);
return (sum);
}
/*public int dispose(int n){//第二种方法
if(n == 1){
return 1;
}else{
return n * dispose(n-1);
}
}*/
}