接口编程题通常要求考生设计并实现一个或多个接口,以及实现这些接口的类。以下是一个接口编程题的示例和解答步骤:
题目描述
题目:设计一个简单的计算器接口,能够完成加减乘除运算。
要求:
1. 定义一个接口 `Compute`,其中包含一个方法 `int computer(int n, int m)`。
2. 设计四个类分别实现此接口,完成加减乘除运算。
3. 设计一个类 `UseCompute`,类中含有方法 `public void useCom(Compute com, int one, int two)`,此方法能够用传递过来的对象调用 `computer` 方法完成运算,并输出运算的结果。
4. 设计一个主类 `Test`,调用 `UseCompute` 中的方法 `useCom` 来完成加减乘除运算。
解答步骤
定义接口 `Compute`
```java
interface Compute {
int computer(int n, int m);
}
```
实现接口的类
加法类 `Add`
```java
class Add implements Compute {
@Override
public int computer(int n, int m) {
return n + m;
}
}
```
减法类 `Subtract`
```java
class Subtract implements Compute {
@Override
public int computer(int n, int m) {
return n - m;
}
}
```
乘法类 `Multiply`
```java
class Multiply implements Compute {
@Override
public int computer(int n, int m) {
return n * m;
}
}
```
除法类 `Divide`
```java
class Divide implements Compute {
@Override
public int computer(int n, int m) {
if (m == 0) {
throw new ArithmeticException("Division by zero is not allowed.");
}
return n / m;
}
}
```
设计类 `UseCompute`
```java
class UseCompute {
public void useCom(Compute com, int one, int two) {
int result = com.computer(one, two);
System.out.println("Result: " + result);
}
}
```
设计主类 `Test`
```java
public class Test {
public static void main(String[] args) {
UseCompute useCompute = new UseCompute();
// 测试加法
useCompute.useCom(new Add(), 10, 5);
// 测试减法
useCompute.useCom(new Subtract(), 10, 5);
// 测试乘法
useCompute.useCom(new Multiply(), 10, 5);
// 测试除法
useCompute.useCom(new Divide(), 10, 5);
// 测试除数为零的情况
try {
useCompute.useCom(new Divide(), 10, 0);
} catch (ArithmeticException e) {
System.out.println(e.getMessage());
}
}
}
```
运行结果
```
Result: 15
Result: 5
Result: 50
Result: 2
Division by zero is not allowed.
```
总结
通过上述步骤,我们定义了一个简单的计算器接口,并实现了四个类来完成加减乘除运算。最后,我们通过一个主类 `Test` 来测试这些类的功能。这种题目可以考察考生对接口的理解和实现能力,以及对异常处理的基本认识。