0
点赞
收藏
分享

微信扫一扫

利用接口做参数,写个计算器,能完成加减乘除运算

夕颜合欢落 2022-04-15 阅读 95
java

利用接口做参数,写个计算器,能完成加减乘除运算。

(1)定义一个接口IComputer含有一个抽象方法int computer(int one, int two),其中参数one和two分别为参与运算的操作数1和操作数2(按先后顺序)。

(2)设计四个类Add类、Sub类、Mul类、Div类,分别实现IComputer接口,完成加、减、乘、除运算。 

(3)设计一个类UseComputer,类中含有方法:

public static void useCom(IComputer com, int one, int two)

此方法能够通过传递过来的IComputer的对象com调用computer方法完成某种运算,并输出运算的结果,其中参数one和two分别为参与运算的操作数1和操作数2。

另外,上述useCom方法中请进行如下处理:若进行除法运算,出现除数为零时,请输出下列提示"Divide by zero, meaningless",可以通过判断条件“com instanceof Div && two==0”为真时,进行上述处理。  //暂时还没研究出来如何进行此步操作

(4)调用UseComputer中的方法useCom来完成一组键盘输入数据的加减乘除运算。

import java.util.Scanner;
interface IComputer{
int computer(int one,int two);
}
class Add implements IComputer{
public int computer(int one, int two) {
return one+two;
}
}
class Sub implements IComputer{
public int computer(int one, int two) {
return one-two;
}
}
class Mul implements IComputer{
public int computer(int one, int two) {
return one*two;
}
}
class Div implements IComputer{
public int computer(int one, int two) {
if(two==0){
System.out.println("Divide by zero, meaningless");
System.exit(0);
}
return one/two; //若类型为short、int、long,除数为0会报错
}
}
class UseComputer{
public static void useCom(IComputer com,int one,int two){
System.out.println(com.computer(one,two));
}
}

public class Test {
public static void main(String args[]) {
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int b=sc.nextInt();
UseComputer.useCom(new Add(),a,b);
UseComputer.useCom(new Sub(),a,b);
UseComputer.useCom(new Mul(),a,b);
UseComputer.useCom(new Div(),a,b);
}
}

说明:

(1)输入共一行,包含2个整型数字(分隔符为空格),这两个数字作为参与加减乘除运算的操作数。

(2)输出时每个运算结果占一行。

输入格式:

10 2

输出格式:

12

8

20

5

输入样例:

2 0

输出样例:

2

2

0

Divide by zero, meaningless

运行结果:

 

 

 

举报

相关推荐

0 条评论