第一种情况:
1. 先用nextLine,后用nextInt,正常使用。
package test;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("输入字符串");
s.nextLine();
System.out.println("输入数字:");
s.nextInt();
System.out.println("输入浮点数");
s.nextFloat();
}
}
第二种情况:
2. 先用nextInt,后用nextLine,出错,输入完第一个后,第二个无法输入.查看资料解释如下:scanner获取输入的整型变量时(nextInt),将换行符之前的数字获取,不包括之后的换行符;但是nextLine方法是将缓存区中所有的全部获取到,因此nextInt留下来的换行符会被nextLine先获取,导致没法再次输入字符串。
package test;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("输入数字:");
s.nextInt();
System.out.println("输入浮点数");
s.nextFloat();
System.out.println("输入字符串");
s.nextLine();
}
}