【java】关于在nextInt()后面使用nextLine()
2022-04-03 本文已影响0人
AmaAnchor
【问题】在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来接收,然后类型转换成需要的类型。