2021-05-30接口练习题

今年5月中旬开始在百知教育学习java基础课程,写点东西记录一下这个过程.当前刚刚学完了封装继承,马上要讲接口和内部类.

写个今天预习作业的代码吧:

/*编程:定义一个接口 MathTool,接口中有三个抽象方法如下:
(1)“long  fact(int  m);”方法的功能为:求参数的阶乘
(2)“long intPower(int m, int n)”方法的功能为求m的n次方
(3)“boolean  findFactor(int m,int n)”方法的功能为:判断参数的和是否大于 100
定义类实现接口,编写应用程序,调用接口中的 3 个方法,并将调用方法的结果输出。*/

package classes;
import java.util.Scanner;
//测试类
public class Test11{
    public static void main(String[] args){
    
        //开始运行,输出提示语局
        System.out.println("*****欢迎使用******");
        System.out.println("功能1: 求m的阶乘");
        System.out.println("方法2: 求m的n次方");
        System.out.println("方法3: 判断m,n的和是否大于100");
        System.out.println("请选择您要使用的功能编号:");
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        
        //创建计算器对象,调用它的功能方法
        MathMachine mm = new MathMachine();
        
        //调用对象mm的计算方法
        mm.m(a);
    }
}
//定义一个接口
interface MathTool{
    //方法1 求参数的阶乘
    long fact(int m);
    
    //方法2 求m的n次方
    long intPower(int m, int n);
    
    //方法3 判断参数的和是否大于 100
    boolean findFactor(int m,int n);
}
//实现
class Abc implements MathTool{
    //求参数阶乘
    public long fact(int m){
        int sum = 1;
        for( int i = 1; i <= m ; i++ ){
            sum *= i;
        }
        return sum;
    }
    //求m的n次方
    public long intPower(int m, int n){
        int sum = 1;
        for( int i = 1 ; i <= n; i++ ){
            sum*=m;
        }
        return sum;
    }
    //判断参数的和是否大于 100
    public boolean findFactor(int m,int n){
        if ((m+n)>100 )return true ;
        else return false ;
    }
}

//创建一个计算器类
class MathMachine{
    
    //功能方法 m: 输入数字123,选择列表中不同的计算方法
    public void m( int a ){
        Scanner sc = new Scanner(System.in);
        Abc abc = new Abc();
        //switch根据参数调用不同功能
        switch( a ){
            case 1: 
                System.out.println("请输入整数参数m的值:");
                int m1 = sc.nextInt();
                System.out.println("m的阶乘是:"+abc.fact( m1 ));
                System.out.println("本次运行结束");break;
            case 2:
                System.out.println("请输入整数参数m,n的值:");
                int m2 = sc.nextInt();
                int n2 = sc.nextInt();
                System.out.println("m的n次方是:"+abc.intPower(m2,n2));
                System.out.println("本次运行结束");break;
            case 3: 
                System.out.println("请输入整数参数m,n的值:");
                int m3 = sc.nextInt();
                int n3 = sc.nextInt();
                System.out.println("判断m,n的和是否大于100:是为true,不是为false   "+abc.findFactor( m3 ,n3));
                System.out.println("本次运行结束");break;
            default:
                System.out.println("本次运行结束");break;
        }
    }
    
}

上一篇:计应193张跃 四则运算系统


下一篇:打印四则运算题目的“软件”