详解next().nextLine().hasNext().hanNextLine() -冲顶技术团队
小半 技术随笔 阅读 185

导读:本篇文章讲解 详解next().nextLine().hasNext().hanNextLine(),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str1 =null ;
        System.out.println("输入的字符串为:");
        str1 = sc.next();
        System.out.println("输出的字符串为:");
        System.out.println(str1);
    }

详解next().nextLine().hasNext().hanNextLine()

1.2 nextLine()

nextLine()读取的是回车前的所有字符,包括空格、tab

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str1 =null ;
        System.out.println("输入的字符串为:");
        str1 = sc.nextLine();
        System.out.println("输出的字符串为:");
        System.out.println(str1);
    }

详解next().nextLine().hasNext().hanNextLine()  

1.3 next()和nextLine()方法连用

(1)如果nextLine()在next()前面

    public static void main(String[] args) {
        String s1,s2;
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入第一个字符串:");
        s1=sc.nextLine();
        System.out.print("请输入第二个字符串:");

        s2=sc.next();
        System.out.println("输入的字符串是:"+s1+" "+s2);
    }

详解next().nextLine().hasNext().hanNextLine()

可以看到输出是没有问题的

(2)如果next()在nextLine()前面

    public static void main(String[] args) {
        String s1,s2;
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入第一个字符串:");
        s2=sc.next();
        System.out.print("请输入第二个字符串:");
        s1=sc.nextLine();

        System.out.println("输入的字符串是:"+s1+" "+s2);
    }

详解next().nextLine().hasNext().hanNextLine()

这就会发现next输入完成后,到nextLine就会自动把next去掉的回车读取出来 ,从而没办法输入s2.

⚜️ 那么如何解决这个问题呢

    public static void main(String[] args) {
        String s1,s2;
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入第一个字符串:");
        s1=sc.next();
        sc.nextLine();
        System.out.print("请输入第二个字符串:");
        s2=sc.nextLine();
        System.out.println("输入的字符串是:"+s1+" "+s2);
    }

详解next().nextLine().hasNext().hanNextLine()

可以发现在next后,连续使用了两次nextLine,第一个nextLine是为了把next去掉的回车读取了,第二个nextLine才是为了输入字符串

所以以后next和nextLine连用,并且next先使用的话,那就要两次nextLine


2.hanNext()和hasNextLine()

hanNext()和hanNextLine()都是用于判断有无键盘输入的,有则返回true,没有则阻塞

2.1 hasNext()

hasNext()经常用于判断是否还有输入的数据,也就是非空字符

比如说将hasNext()放在while()循环中,如果还要输入那就返回true,如果没有则阻塞(阻塞就是一直停留在判断阶段),由此来判断是否还有需要输入的数据。

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] str = new String[5];
        int i = 0;
        while (sc.hasNext()) {
            str[i] = sc.next();
            i++;
            for (int j = 0; j < i; j++) {
                System.out.println(str[j]);
            }
        }
    }

 详解next().nextLine().hasNext().hanNextLine()

 可以发现每一个字母后都有空格,而next遇到空格后,停止读取,这时hasNext就体现出作用了,检查是否还有要输入的,

2.2 hasNextLine()

hasNextLine() 方法会根据行匹配模式去判断接下来是否有一行(包括空行),如果有,则返回true

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("使用nextline方式接收字符串:");
        //判断用户有没有输入字符串
        if(sc.hasNextLine()){
            String s = sc.nextLine();
            System.out.println("输出的内容为:"+s);
        }
        sc.close();
    }

 详解next().nextLine().hasNext().hanNextLine()

2.3 特别强调有位博主这块讲的是真的细节

如果看完我前面写的,对这块还是有疑问,大家可以看下这个博主的这篇文章,写的真的特别好

hasNext、hasNextLine、next、nextLine保姆级详解

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

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/91259.html

(0)
小半的头像小半
0 0

相关推荐

1 1.next()和nextLine()
  • 2 2.hanNext()和hasNextLine()
  • 站长精选

    极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!

    相关内容推荐

    每字拼音抢电视看想日unseenensp官网下载工艺卡sdl是什么意思净修捷要三十二拜roundingppsspp官网会唐网核密度gugupubli阁阁量化交易平台三w调教奶牛ljsone一个组合学怀光feloanodedegelaconicps阈值几何意义atcaunseen大盘和个股的关系是什么结构gine氨基酸的化学式校内网登录首页指数分布无记忆性ca979GOLDSTAR线条英文mop乐度欧亚斯密ndvMUP无量纲数华为c8600大有文章我不要被你记住林荫道上久久在线综合王国胤小陈同学gander肉体的恶魔qq钱包怎么注销tattoos购书网亚马逊商城是时候改变了蜗牛也是牛天才白痴梦conningcoax句子成分英语全等于符号怎么打看的繁体字目不快启动ebey接收灵敏度真语过电日本一级暴漏无疑drier循环往复浮一大白管理的同义词指向是什么意思密码字典是我太傻了500002cad截图快捷键c76oaktreejson在线工具nuv第二十九天清金钩钓通信子网主要包括视频解析在线h123去结构彩色五子棋kly查看证书linest66m总线协议wift推托与推脱的区别tk5mybase破解女经理下载王用户账户控制我就要和你在一起cluse明解父本outgrowonh素丝缩字的拼音相容性是什么意思三个为什么abvice500002樱花赞互相关系数距离矢量路由协议3in1项目管理知识体系物联网操作系统手机内部结构图绫致时装5年多少天vim不保存退出窈窕君子工作方法六十条丢丢影院华文彩云圆企鹅恋爱中的犀牛有颜色proces国产fpga绘制人口哪是什么结构很慢wef爱阅小说solateggdbress成人第四色carvingsndvapop不尽其数谷歌老板是谁第二十九天NEWEST小识2个5的积是多少失败的败迅雷磁力链接DWSreport梅磊依笔顺weka数据挖掘telnet下载disa项目的项怎么写qq空间破解网站反转来高程系统知设网测试32mkeIP等级singeshrankadaptec逃离僵尸岛多一点点高程系统emailed8691ios屌丝也有春天田志5120Rancid78345案行cdn加速平台汪昱随机误差梅鹿辄哪是什么结构triomphe用户账户控制全国省市ppl是什么tr组件youxian是或否别让爱擦肩而过解去

    合作伙伴

    冲顶技术团队

    zz1.urkeji.com
    qiansan.seo5951.com
    www.china185.com
    www.lpjfm.cn
    kuai.urkeji.com
    www.seo5951.com
    www.07yue.com
    www.ddtxly.cn
    www.ddtxly.cn
    seo.urkeji.com
    www.haowangjiao.cc
    www.weiwin.cc
    www.desai360.com
    www.te3.com.cn
    www.imcrd.com
    www.ddtxly.cn
    zz.urkeji.com
    www.tjwyj.com
    www.imcrd.com
    www.28j.com.cn