zoukankan      html  css  js  c++  java
  • next()和nextLine()的区别

    nextLine()不要和其他next方法一起用!!!尤其nextLine()不要放在它们后面!!!

    首先是大家共所周知的区别

    nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。

    next()会自动消去有效字符前的空格,只返回输入的字符,不能得到带空格的字符串。

    接下来是重头戏

    next()在输入有效字符之后,将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。

    nextLine()方法的结束符只是Enter键

    所以

    nextLine()自动读取了被next()去掉的Enter作为他的结束符,所以没办法从键盘输入值。

    经过验证,其他的next的方法,如nextDouble()  ,nextFloat() ,nextInt() 等与nextLine()连用时都存在这个问题。

    具体点就是

    nextLine()不能用在nextInt()的后面!!!!

    第一种

    在每一个 next()、nextDouble()  、nextFloat()、nextInt() 等语句之后加一个nextLine()语句,将被next()去掉的Enter结束符过滤掉。

    第二种

    把nextLine()改为next()

  • 相关阅读:
    产品中常用理论
    Mac下配置环境变量
    Maven仓库
    深入理解Spring中的各种注解
    JAVA中简单字符串分割
    WARN: HHH000277: Could not bind factory to JNDI
    dos命令窗口下下java命令提示找不到或无法加载主类
    数组实用类:Arrays
    数组
    线程创建方式
  • 原文地址:https://www.cnblogs.com/xhlwjy/p/11340171.html
Copyright © 2011-2022 走看看