pushback流的例子

pushback流的例子pushback 流有 PushbackInpu 和 PushbackRead nbsp 例子 nbsp publicclassS publicstatic String args throwsIOExce PushbackInpu newPushbackI

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.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233320.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 怎么用虚拟机搭建云服务器,利用虚拟机搭建云服务器

    怎么用虚拟机搭建云服务器,利用虚拟机搭建云服务器利用虚拟机搭建云服务器内容精选换一换虚拟私有云(VirtualPrivateCloud)是用户在华为云上申请的隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性公网IP搭建业务系统。云备份和镜像服务有很多功能交融的地方,有时需要搭配一起使用。镜像有时也可用来备份云服务器运行环境,作为备份来使用。云备份和镜像服务区别主要有以下几点,…

    2022年5月24日
    47
  • axure 发布后隐藏顶部菜单 或展开顶部菜单[通俗易懂]

    axure 发布后隐藏顶部菜单 或展开顶部菜单[通俗易懂]这样可以实现菜单栏最小化,而且在你鼠标不移动到左上角时,小箭头会隐藏,效果就可以了。axure9.0版本在发布后HTML页面打开时总是在顶部弹出菜单既不美观也影响效果。本人axure小白,摸索半天后发现也不能完全关闭或者不显示(除非代码修改);解决方案就是在请求地址后面拼接。…

    2022年8月19日
    17
  • 大数据与云计算物联网的关系文献_云计算的概念

    大数据与云计算物联网的关系文献_云计算的概念云计算、大数据和物联网代表了IT领域最新的技术发展趋势,三者既有区别又有联系。云计算最初主要包含了两类含义:一类是以谷歌的GFS和MapReduce为代表的大规模分布式并行计算技术;另一类是以亚马逊的虚拟机和对象存储为代表的“按需租用”的商业模式。但是,随着大数据概念的提出,云计算中的分布式计算技术开始更多地被列入大数据技术,而人们提到云计算时,更多指的是底层基础IT资源的整合优化…

    2022年10月7日
    3
  • C++学习——CString,char * ,string的相互转换

    C++学习——CString,char * ,string的相互转换CString头文件#include <afx.h>string头文件#include <string.h>1、CString转char *CString cstr;char *p =(LPSTR)(LPCTSTR)cstr;2、string转 CStringCString.format(”%s”, string.c_str());用c_str()确实比dat…

    2022年8月18日
    5
  • tar 分割压缩

    tar 分割压缩1、普通tar压缩命令tar-zcvfcm-11.tar.gzcm-11//将cm-11文件夹压缩成cm-11.tar.gz2、压缩后的文件太大,需要将cm-11.tar.gz分割成N个指定大小的文件,怎么办?一条命令搞定split-b4000M-d-a1cm-11.tar.gzcm-11.tar.gz.//使用split

    2022年5月25日
    62
  • rpm 安装与卸载

    rpm 安装与卸载rpm (RedHatPackageManager) 红帽软件包工具。在redhat,fedora,novellsuselinuxenterprise,openSUSE,centos等系统上使用。 用途:安装与卸载软件包用法:rpm -选项 包名选项:-vih   安装v显示安装过程h显示安装进度      -q    后跟包名查询指…

    2022年6月6日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号