今年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;
}
}
}