Readable接口就是为了Scanner类专门创建的一个接口,使得Scanner的入口参数不必限于某个类。实现Readable接口要只需是实现public int read(CharBuffer cb)方法。当方法返回-1时候Scanner类停止读取。package com.liuc.test.think.chapter9;
import java.io.IOException;
import java.nio.CharBuffer;
import java.util.Random;
import java.util.Scanner;
public class RandomWords implements Readable{
private Random rand=new Random(47);
private static final char[] capitals="ABCDEFGHIJKLMOPQRSTUVWXYZ".toCharArray();
private static final char[] lowers="ABCDEFGHIJKLMOPQRSTUVWXYZ".toLowerCase().toCharArray();
private static final char[] vowels="aeiou".toCharArray();
private int count;
public RandomWords(int count) {
this.count=count;
}
@Override
public int read(CharBuffer cb) throws IOException {
if (count--==0) {
return -1;
}
cb.append(capitals[rand.nextInt(capitals.length)]);
for (int i = 0; i < 4; i++) {
cb.append(vowels[rand.nextInt(vowels.length)]);
cb.append(lowers[rand.nextInt(lowers.length)]);
}
cb.append(" ");
return 10;
}
public static void main(String[] args) {
Scanner scanner=new Scanner(new RandomWords(10));
while (scanner.hasNext()) {
System.out.println(scanner.next());
}
}
}
分享到:
相关推荐
2. 具体类 Reader 实现了 Readable 接口。修改的关键在于正确实现接口中的方法。正确的修改代码为: ```java interface Readable { void read(); } class Reader implements Readable { public void read() { ...
可以在这篇博文中找到Writable和Readable接口背后的更多背景: 发电机 Generator基本上是scala.Iterator :核心功能不是基于拉取的hasNext和next: T方法,而是基于基于推送的generate方法,它类似于foreach ,但做了...
Zabbix系统接口文档 Zabbix系统接口文档是一份详细的API文档,为Zabbix开发者和用户提供了便捷的接口调用指南。本文档中,我们将详细介绍Zabbix系统接口的各个方面,包括获取API版本、关联、监控项等。 获取API...
### Zabbix系统监控接口文档知识点解析 #### 一、概述 Zabbix是一款开源的企业级监控解决方案,能够对网络服务器、数据库、应用程序等进行全方位的监控。本文档详细介绍了Zabbix系统的API接口,涵盖从基本的API...
球流 接口。用法 var gs = require ( 'glob-stream' ) ;var readable = gs ( './files/**/*.coffee' , { /* options */ } ) ;var writable = /* your WriteableStream */readable . pipe ( writable ) ; 您可以传递...
### zabbix监控接口测试知识点详解 #### 一、概述 本文档主要针对Zabbix监控系统的接口进行了详尽的测试,并记录了测试过程中所使用的各种方法和技术。Zabbix是一款开源的企业级监控工具,能够帮助管理员对网络环境...
在“Readable-Backend-Update”项目中,我们主要聚焦于使用C#语言对后端进行的一次重要更新。这次更新可能涉及到了多个方面,包括但不限于性能优化、功能增强、代码重构以及错误修复等。C#是一种面向对象的编程语言...
`web-readable-stream`库实现了这一接口,并确保其在不同环境下的兼容性,这对于开发可移植的、高性能的前端或后端应用非常重要。 `web-readable-stream`库的核心功能包括: 1. **跨环境兼容性**:此库允许开发者...
Stream在node.js中是一个抽象的接口,基于EventEmitter,也是一种Buffer的高级封装,用来处理流数据。流模块便是提供各种API让我们可以很简单的使用Stream。 流分为四种类型,如下所示: Readable,可读流 ...
8. **代码复用**:利用继承、接口和抽象类来实现代码复用,减少重复代码。 9. **测试驱动开发(TDD)**:通过编写单元测试来验证代码的功能,也可以帮助确保代码的可读性和可维护性。 10. **持续集成(CI)**:结合...
hgl的全称可能是"Human-readable Glassfish Log",它能实时解析`server.log`文件,将复杂的日志信息转化为清晰、简洁的文本输出,使得非技术人员也能轻松理解。通过hgl,用户可以快速定位问题,跟踪服务器的运行状况...
微信小程序 Node.js (基础七) Stream(流)Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。Stream 有四种流类型:- Readable - 可读操作。- Writable - 可写操作。- Duplex - 可读可写操作.- Transform - ....
开发者需要设置MQTT连接。通过微信小程序的开发环境,使用MQTT.js库可以...开发者可以构建一个发布消息的接口,例如向主题“device/control”发布指令。指令内容通常包括目标操作,如开关状态、设定值等。通过这种方
例如,对于需要执行读取和写入操作的对象,分别定义`Readable`和`Writable`接口。 - **合成/聚集复用原则**:在需要复用功能时,优先考虑使用对象组合,例如,一个`Document`对象可以包含一个`Content`对象,用于...
- `Context.MODE_WORLD_READABLE`:使文件可被所有应用读取,需与`Context.MODE_PRIVATE`或其他模式组合使用。 - `Context.MODE_WORLD_WRITEABLE`:使文件可被所有应用写入,同样需与其他模式结合使用。 - **...
使用 http 请求对象的 ReadableStream 接口 此页面: : 提到 requestListener 函数会自动添加到... 现在,在 ReadableStream (stream.Readable) 接口, //nodejs.org/api/stream.html 的文档中,我们发现它有事件 r
OOPS-WP:WordPress的面向对象的编程结构 该库提供了抽象类,接口和特征的集合,以... if ( is_readable( __DIR__ . '/vendor/autoload.php' ) ) { require_once __DIR__ . '/vendor/autoload.php'; } 注意: 提供有
例如,可以使用特定的API来初始化阅读器、检测身份证、读取MRZ(Machine Readable Zone,机器可读区)信息,以及获取包含姓名、性别、出生日期、住址等在内的详细个人信息。 SDK还可能包含示例代码和项目,这些示例...
同时,`SharedPreferences`接口不直接支持写入操作,而是通过`Editor`接口实现。`Editor`提供了`putXXX()`方法添加或更新键值对,`clear()`清除所有数据,`remove()`删除指定键的数据,最后通过`commit()`提交更改。...