美文网首页
next()与nextline()

next()与nextline()

作者: 载zai | 来源:发表于2019-02-01 17:27 被阅读0次

    区别: 

    next()读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。 

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

    【问题分析】

    必要的知识:in.nextLine();不能放在in.nextInt();代码段后面

    否则in.nextLine();会读入"\n"字符,但"\n"并不会成为返回的字符

    因为nextInt();接收一个整型字符,不会读取\n,nextline();读入一行文本,会读入"\n"字符,但"\n"并不会成为返回的字符

    那么问题就在于for循环中的三个输入等待中,前两个是字符串(学校名称、校长姓名)最后一个是整型(建校时间),

    在第一次循环时并没有什么问题,但当循环进入第二次时,第一次循环输入的班级数目(假设为2),我们输入的是"2\n",

    nextInt();扫描了2这个值并返回(没有读取"\n"字符),而第二次循环一开始的nextLine();接收了上一个循环最后输入的"\n"字符,

    然而"\n"并不会成为返回字符,所以看起来有一种“跳过”的假象。

    相关文章

      网友评论

          本文标题:next()与nextline()

          本文链接:https://www.haomeiwen.com/subject/dsmdsqtx.html