Java .nextLine()对.next()?
谢谢你抽出时间 我已经编写了一个月的代码,有几次我遇到了关于下一行的问题:Java .nextLine()对.next()?,java,java.util.scanner,next,Java,Java.util.scanner,Next,谢谢你抽出时间 我已经编写了一个月的代码,有几次我遇到了关于下一行的问题: gen = sc.nextLine(); ge = gen.charAt(0); 在本例中存在一个问题,因为从我读到的“ThenextLine()方法扫描当前行上的所有内容,然后将指针移过该行。因此,当您调用charAt()方法时,您在下一行调用它,这是一个空白,因此发生了一个错误。” 我的问题是,如果nextLine可能导致此类问题,那么使用它有什么意义?我可以简单地把.next()放
gen = sc.nextLine();
ge = gen.charAt(0);
在本例中存在一个问题,因为从我读到的“ThenextLine()
方法扫描当前行上的所有内容,然后将指针移过该行。因此,当您调用charAt()
方法时,您在下一行调用它,这是一个空白,因此发生了一个错误。”
我的问题是,如果
nextLine
可能导致此类问题,那么使用它有什么意义?我可以简单地把.next()
放进去让它工作。正如吉姆在评论中所说,charAt(0)
与next()
与nextLine()
无关。
charAt(0)
正在从扫描仪
读取的字符串
中读取,而不是直接从扫描仪
本身读取
因此,指针所在的位置对charAt(0)
读取的内容没有影响(据我所知)。希望这能让它更清晰一点。gen.charAt(0)与NextLine前进的步骤无关——它访问gen中的第一个(0)字符,这是已读行的表示形式。