java中 设计一个接口,包括一个抽象方法 2) 定义数学计算的类,类中顶一个方法和接口的抽象方法参数相同 3) 定义测试类,类中接收从键盘输入的信息,包括第一个值、计算符号、第二个值 通过传入的值使用匿名内部类的方式传递并获取返回值输出。 可以在输出的值基础上继续计算,把它当成第一个值。如果输入“=”则退出程序。
时间: 2024-03-17 19:44:46 浏览: 21
好的,我来为您解答这个问题。
首先,我们需要设计一个接口,包括一个抽象方法。代码如下:
```java
public interface Calculator {
public double calculate(double num1, double num2, String operator);
}
```
接下来,我们定义一个数学计算的类,类中定义一个方法,参数与接口的抽象方法相同。代码如下:
```java
public class MathCalculator implements Calculator {
@Override
public double calculate(double num1, double num2, String operator) {
double result = 0;
switch (operator) {
case "+":
result = num1 + num2;
break;
case "-":
result = num1 - num2;
break;
case "*":
result = num1 * num2;
break;
case "/":
result = num1 / num2;
break;
default:
System.out.println("输入的运算符不合法!");
}
return result;
}
}
```
最后,我们定义一个测试类,类中接收从键盘输入的信息,包括第一个值、计算符号、第二个值。通过传入的值使用匿名内部类的方式传递并获取返回值输出。可以在输出的值基础上继续计算,把它当成第一个值。如果输入“=”则退出程序。代码如下:
```java
import java.util.Scanner;
public class TestCalculator {
public static void main(String[] args) {
double num1 = 0, num2 = 0, result = 0;
String operator = "";
Scanner scanner = new Scanner(System.in);
Calculator calc = new MathCalculator();
while (true) {
System.out.println("请输入第一个值:");
num1 = scanner.nextDouble();
System.out.println("请输入运算符号(+、-、*、/):");
operator = scanner.next();
if ("=".equals(operator)) {
System.out.println("最终结果为:" + result);
break;
}
System.out.println("请输入第二个值:");
num2 = scanner.nextDouble();
result = calc.calculate(num1, num2, operator);
System.out.println("计算结果为:" + result);
}
scanner.close();
}
}
```
以上就是本题的答案,希望能对您有所帮助!