【Java】Scanner类
Scanner
Scanner与其名称一样,是Java中的一个文本扫描仪,它可以扫描控制台端输入的信息,因此当需要程序与用户进行交互时,可以使用到Scanner类进行数据的输入与扫描,具体如下。
初始化Scanner
//构造扫描仪
Scanner scanner = new Scanner(System.in);
next()方法与hasNext()方法
用法
hasNext()和next()效果其实是一样的,系统都会等待输入下一个字符串,只是返回值不同,hasNext()可以用来判断用户是否进行了输入,当检测到输入会返回true,否则返回false;
而next()返回输入的字符串,但是只能接收连续的字符串,当遇到空格时就停止了输入。
如下:
if(scanner.hasNext()){
String str = Scanner.next();
System.out.println(str);
}
scanner.close();
next()方法注意事项
- 一定要读取到有效字符才可以结束输入;
- 对输入字符前遇到的空白,会自动去除;
- 只有输入有效字符后才将其后边输入的空白作为分隔符或结束符;
- next()方法不能得到带有空白的字符。
nextLine()方法与hasNextLine()方法
用法
nextLine()方法接收用户输入可以接收不连续带空格的字符串;
而hasNextLine()方法可以用来判断用户是否进行了输入。如下
if(scanner.hasNextLine()){
String str = Scanner.nextLine();
System.out.println(str);
}
scanner.close();
注意事项
- nextLine()以enter为结束符,也就是说nextLine()方法返回的是输入enter之前的所有字符;
- 可以获得空白。
nextInt()方法与hasNextInt()方法、nextFloat()方法与hasNextFolat()方法
nextInt()方法用来接收用户输入的int型数据,而hasNextInt()方法用来判断是否输入了int型数据;
同理,nextFloat()方法与hasNextFolat()方法同上。
作者:AirCL
出处:https://www.cnblogs.com/AirCL/p/ScannerNote.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通