程序填空题:模拟通信
#### 1.训练目标
本题目考查Lambda表达式的使用。
#### 2.业务要求
本题涉及一个接口Listener,代表监听器接口。一个类Communication,代表通信器类,依赖Listener接口。
#### 3.输出内容
通过调用通信器类Communication的方法,打印消息发送和接收过程,类似如下
开始发送
收到3条信息
发送结束
#### 4.需填空的代码
java
public class Communication {// 通信器类
private Listener listener;// 监听器对象
void send(String[] infos) {// 发送消息方法
System.out.println("开始发送");
System.out.println(listener.receive(infos));// 调用监听器listener的接收消息方法,传入消息数组infos参数
System.out.println("发送结束");
}
public static void main(String[] args) {
Communication communication = new Communication();// 创建通信器类对象
communication.listener = ;// 使用Lambda表达式配置监听器,Lambda表达式中返回形如”收到X条信息“的字符串,X为入参数组内元素的个数
String[] infos = new String[]{"XA", "YB", "OO"};
communication.send(infos);
}
}
// 使用注解标记函数式接口
interface Listener {// 监听器类
String receive(String[] infos);// 接收消息方法
}
answer:
第1空:infos -> "收到" + infos.length + "条信息"
第2空:@FunctionalInterface
本题目考查Lambda表达式的使用。
#### 2.业务要求
本题涉及一个接口Listener,代表监听器接口。一个类Communication,代表通信器类,依赖Listener接口。
#### 3.输出内容
通过调用通信器类Communication的方法,打印消息发送和接收过程,类似如下
开始发送
收到3条信息
发送结束
#### 4.需填空的代码
java
public class Communication {// 通信器类
private Listener listener;// 监听器对象
void send(String[] infos) {// 发送消息方法
System.out.println("开始发送");
System.out.println(listener.receive(infos));// 调用监听器listener的接收消息方法,传入消息数组infos参数
System.out.println("发送结束");
}
public static void main(String[] args) {
Communication communication = new Communication();// 创建通信器类对象
communication.listener = ;// 使用Lambda表达式配置监听器,Lambda表达式中返回形如”收到X条信息“的字符串,X为入参数组内元素的个数
String[] infos = new String[]{"XA", "YB", "OO"};
communication.send(infos);
}
}
// 使用注解标记函数式接口
interface Listener {// 监听器类
String receive(String[] infos);// 接收消息方法
}
answer:
第1空:infos -> "收到" + infos.length + "条信息"
第2空:@FunctionalInterface