【7】利用接口做参数,写个计算器,能完成+-*/运算 [1].定义一个接口Compute含有一个方法int computer(int n,int m); [2].设计四个类分别实现此接口,完成+-*/运算 [3].设计一个类UseCompute,含有方法: public void useCom(Compute com, int one, int two) 此方法要求能够:1.用传递过来的对象调用computer方法完成运算 2.输出运算的结果 [4].设计一个测试类,调用UseCompute中的方法useCom来完成+-*/运算。
时间: 2023-05-25 19:06:58 浏览: 170
220116李嘉欣java实验四接口实验报告.doc
1. 定义一个接口Compute含有一个方法int computer(int n,int m);
```java
public interface Compute {
int computer(int n, int m);
}
```
2. 设计四个类分别实现此接口,完成 -*/运算
```java
public class Sub implements Compute {
@Override
public int computer(int n, int m) {
return n - m;
}
}
public class Mul implements Compute {
@Override
public int computer(int n, int m) {
return n * m;
}
}
public class Div implements Compute {
@Override
public int computer(int n, int m) {
if (m == 0) {
throw new IllegalArgumentException("除数不能为0");
}
return n / m;
}
}
```
3. 设计一个类UseCompute,含有方法: public void useCom(Compute com, int one, int two) 此方法要求能够:1. 用传递过来的对象调用computer方法完成运算 2. 输出运算的结果
```java
public class UseCompute {
public void useCom(Compute com, int one, int two) {
int result = com.computer(one, two);
System.out.println("运算结果为: " + result);
}
}
```
4. 设计一个测试类,调用UseCompute中的方法useCom来完成 -*/运算。
```java
public class Test {
public static void main(String[] args) {
UseCompute useCompute = new UseCompute();
int one = 10, two = 5;
Compute sub = new Sub();
Compute mul = new Mul();
Compute div = new Div();
useCompute.useCom(sub, one, two);
useCompute.useCom(mul, one, two);
useCompute.useCom(div, one, two);
}
}
```
阅读全文