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()

  • 相关阅读:
    每日日报2020.12.1
    每日日报2020.11.30
    981. Time Based Key-Value Store
    1146. Snapshot Array
    565. Array Nesting
    79. Word Search
    43. Multiply Strings
    Largest value of the expression
    1014. Best Sightseeing Pair
    562. Longest Line of Consecutive One in Matrix
  • 原文地址:https://www.cnblogs.com/xhlwjy/p/11340171.html
Copyright © 2011-2022 走看看