pushback流 有PushbackInputStream和PushbackRead。
例子:
public class SequenceCount {
public static void main(String[] args) throws IOException {
PushbackInputStream in = new PushbackInputStream(System.in);
int max = 0; // longest sequence found
int maxB = -1; // the byte in that sequence
int b; // current byte in input
do {
int cnt;
int b1 = in.read(); // 1st byte in sequence
for(cnt = 1; (b = in.read()) == b1; cnt++) {
continue;
}
if(cnt > max) {
max = cnt; // remember length
maxB = b1; // remember which byte value
}
in.unread(b); // pushback start of next sequence
} while(b != -1); // until we hit end of input
System.out.println(max + " bytes of " + (char)maxB);
}
}
书上的一个例子;
总结:
1,pushback适用于“词法的扫描”;
2,上面的例子就是找System.in中输入的连续的重复的字符,只有读了之后,才知道不连续重复了。需要回退。
3,在eclipse中不好测试,没法System.in结束,需要在cmd中运行,然后“ctrl+c”结束。打开cmd,切换到eclipse项目的bin目录下面,用java + package.class的名字运行,主要要是class的全路径。
4,读入的是int,如是8的话,assic编码maxB成了58了。需要char强制转换一下,成了8.
分享到:
相关推荐
Pushback Helper是一个使推回操作更容易的应用程序。 无需联系ATC进行捷波道连接 无需联系ATC使用推回 无需联系ATC致电加油车,餐饮,行李或手推车服务 轻松打开和关闭飞机机门(仅适用于A320、787、747) 下载链接...
PushBack,通知服务器。 用于基于WebSocket的Web应用程序的轻便且非常简单的通知服务器。 PushBack是一种自托管的通知服务器,旨在在Web应用程序中使用。 它的设计使用起来非常简单且轻巧。 它是如何工作的 ? ...
介绍c++中push_back方法的使用,包括vector中和string中,使用很方便也很广泛
!!!! 重要的 !!!! 不要使用主存储库页面上绿色的“克隆或下载”按钮下载BetterPushback。... 这是X-Plane 11飞行模拟器的推回插件。 它提供了俯视图以计划后推路线,并实现了全自动的“自动交接”后推,使用户可以...
主要介绍了C++ push方法与push_back方法的使用与区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本文实例讲述了Go语言的队列和堆栈实现方法。分享给大家供大家参考。具体如下: golang,其实我的实现是利用container/list包实现的,... l.PushBack(1) l.PushBack(2) l.PushBack(3) l.PushBack(4) // 出队
区别 都说emplace快push慢,今天就详细研究下到底两者有什么区别,以及这个move在中间扮演了一个什么角色。 先上测试代码,是一个自己手写的str字符串类,几种构造函数,都写全了: class str { ...
顺序表尾插void PushBack(SeqList* psl,DateType x); 顺序表尾删void PopBack(SeqList* psl); 顺序表头插void PushFront(SeqList* psl, DateType x); 顺序表头删void PopFront(SeqList* psl); 顺序表查找int Find...
vec.pushBack(cache->getSpriteFrameByName(name)); } //指定动画源和每一帧时间 Animation *animation = Animation::createWithSpriteFrames(vec,0.1f); Animate *animate = Animate::create(animation); ...
选项1:pushBack和&popBack | | pushBack | popBack | |--------------------|----------|---------|+ | Вектор | O(1) | O(1) |- | Едносвързан списък | O(1) | O(n) |- | Двусвъ...
基于KDTree的KNN,30000个点,近邻搜索60,耗时0.05~0.1ms,比for循环查找快9~10倍。 但不能用omp加速,因为有pushback,并且循环中的变量为类中的私有成员,变量会共用。
一种基于网络编码的多码率视频组播算法,吕小星,张百海,多分辨率编码使得对不同接收端进行多码率组播成为可能。研究者们提出一种简单的,分布式的,两阶段消息传递回溯算法PA(pushback algo
并且在类内声明要实现的函数(本文我只实现了operator=,operator[ ],pushback(),以及三个operator+=,五个insert等) #include #include using namespace std; class String { friend ostream& o
代码示例*摘自文档/examples/main.go*中的片段*构造一个空的向量var播放器GoVector.Vector播放器= players.Init()追加一个元素player.PushBack(newPlayer)删除一个元素player.RemoveAt(index)获取元素在索引...
如何使用添加到您的代码:从DoubleLinkedList导入DLinked 以这种方式创建双链表name_of_your_list = DLinked.Linked() 为了在开始时插入元素,请使用.pushfront(element) 为了最终插入元素,请使用.pushback...
* Active break with power pushback to the batteries? * Different interfaces: ** PPM ** Serial ** I2C ** CAN * As small as possible; current design is 60x26mm (may and probably will change in the ...
单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。 链表结构: SList.h #pragma once typedef int DataType;...typedef struct SListNode ...void PushBack(SListNode* & p
列表 JavaScript 双向链表实现 当前 API 状态: ... ✓ # push() #pushBack() ✓ # pop() #popBack() - # insert() ✓ # erase() - # swap() - # resize() ✓ # clear() Operations - # splice()