在使用Java中的Scanner类时,如果在读取输入时同时使用nextlnt 和nextLine)方法,需要注意一个问题,因为nextint0方法只会读取输入中的整数部分,而不会读取换行符,所以在接下来使用nextLine)方法时,会读取到上一个输入中的换行符,导致输入不符合预期。为了解决这个问题,可以在使用nextlnt0方法后,使用一个额外的nextLine()方法来读取换行符,然后再进行下一次输入的读取。
解决办法
使用nextLine()清除一下缓存区例:
Scanner scanner = new Scanner(System.in);
int num = scanner.nextlnt);
// 读取换行
scanner.nextLinel);
String str = scanner.nextLine();
System.out,println(“输入的整数为:”+ num);
System.out.println(“输入的字符串为:”+ str);