关于Scanner的输入避坑指南

Scanner是JAVA中最常用的输入工具,但稍有不慎就容易掉进铺着树叶的坑里,本文会提溜出几个易错点,帮助你避免一些陷阱。

一、读取整数和带空格的字符串:用nextLine再转换

用法:统一使用nextLine()读取整行,因为nextLine存在遗留换行符的问题,所以需要用integer.parseInt()转换整数;

如下例子,是读取密码

image

二、空格分隔

用法:先用nextLine()读取整行,再用split分割字符串;

如下例子,在处理多行输入中,每个数字被空格隔开,用其将字符串拆分成数组

String[]parts=line.spilt("\S+");
而关于trim,它适用于去掉字符串首位的空白字符。
split在行首有空格的情况下,会导致解析错误,这时候就可以用trim来避免。

如下:
String line=sc.nextLine().trim();
if(line.isEmpty())continue;
String[]parts=line.split("\s+");

三、连续读取多个混合类型

用法:nextLine()

如下:

int id=Integer.parseInt(sc.nextLine());
double price=Double.parseDouble(sc.nextLine());
String remark=sc.nextLine();

如果输入再同一行用空格分开,就可以采用第二个,先读整再分割啦。

posted @ 2026-04-30 20:09  Znkunft  阅读(8)  评论(0)    收藏  举报