【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来接收,然后类型转换成需要的类型。

你可能感兴趣的:(【java】关于在nextInt()后面使用nextLine()接收不了字符的情况)