【java】关于在nextInt()后面使用nextLine()接收不了字符的情况

【问题】在nextInt()后面使用nextLine()接受不了字符的情况

System.out.println("请输入收入数额:");
int income=in.nextInt();
System.out.println("请输入备注:");
String des=in.nextLine();

上述代码会出现“跳过”in.nextLine()的情况,原因是因为,nextInt()不接收回车(换行),因此在nextInt()输入换行之后,会遗留一个换行符,然后这个换行符会被in.nextLine()接收,因此,就出现了“跳过”in.nextLine()的情况。

【解决方法】
1,在nextInt()后面先调用一次nextLine()吸收掉遗留的换行符,然后再调用一个nextLine()来接收

System.out.println("请输入收入数额:");
int income=in.nextInt();
System.out.println("请输入备注:");
in.nextLine();//吸收遗留的换行符
String des=in.nextLine();

2,
全部采用nextLine来接收,然后类型转换成需要的类型。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容