2. 修改教材P208页第10.12题,使用Lambda表达式实现calculate()方法,使该方法可以计算( a+b)/2
时间: 2024-01-22 09:20:00 浏览: 212
原题目:
定义一个函数式接口IntCalc,其中抽象方法int calculate(int a, int b),使用Lambda表达式求出两个整数的和、差、积和商(例如,加法运算a+b)。
修改后的题目:
定义一个函数式接口DoubleCalc,其中抽象方法double calculate(double a, double b),使用Lambda表达式求出两个实数的和、差、积和商(例如,计算平均数(a+b)/2)。
修改后的解答:
```java
public class LambdaDemo {
interface DoubleCalc {
double calculate(double a, double b);
}
public static void main(String[] args) {
DoubleCalc calc = (a, b) -> (a + b) / 2.0; // 使用Lambda表达式实现calculate方法
double a = 8.0, b = 4.0;
System.out.println("a = " + a + ", b = " + b);
System.out.println("平均数:" + calc.calculate(a, b));
}
}
```
输出结果:
```
a = 8.0, b = 4.0
平均数:6.0
```
相关问题
修改教材P208页第10.12题,使用Lambda表达式实现calculate()方法,使该方法可以计算0.5×(a+b)
好的,我来修改一下。
原题为:
```
public class Main {
public static void main(String args[]) {
Calculator calculator = new Calculator();
int a = 10;
int b = 5;
double result = calculator.calculate(a, b);
System.out.println(result);
}
}
class Calculator {
public double calculate(int a, int b) {
return 0.5 * (a + b);
}
}
```
使用Lambda表达式实现calculate()方法可以这样写:
```
public class Main {
public static void main(String args[]) {
Calculator calculator = (a, b) -> 0.5 * (a + b);
int a = 10;
int b = 5;
double result = calculator.calculate(a, b);
System.out.println(result);
}
}
interface Calculator {
double calculate(int a, int b);
}
```
Lambda表达式允许我们将一个方法作为参数传递给另一个方法。在上面的代码中,我们定义了一个Calculator接口,它有一个calculate()方法,该方法接受两个整数参数并返回一个double类型的结果。然后,我们使用Lambda表达式定义了一个匿名Calculator对象,该对象的calculate()方法实现了0.5×(a+b)的计算。最后,我们调用了这个匿名对象的calculate()方法,并输出了结果。
使用Lambda表达式实现calculate()方法,使该方法可以计算(a+b)/2
可以使用Lambda表达式来实现calculate()方法,代码如下:
```java
public static double calculate(double a, double b) {
return ((a + b) / 2);
}
// 使用Lambda表达式实现
Calculate calculate = (a, b) -> ((a + b) / 2);
```
其中,Calculate是一个函数式接口,定义如下:
```java
@FunctionalInterface
public interface Calculate {
double calculate(double a, double b);
}
```
Lambda表达式的语法为:
```java
(参数列表) -> 表达式
```
在这个例子中,参数列表为 `(a, b)`,表达式为 `((a + b) / 2)`,所以我们可以使用 Lambda 表达式实现 calculate() 方法。
阅读全文