对于nextInt()和nextLine()不能并用的问题
例子1:
public class Test01 {
public static void main(String[] args) {
//定义键盘录入对象
Scanner sc = new Scanner(System.in);
//输入一个字符串
System.out.println("请输入一个字符串");
String s = sc.nextLine();
//输入一个整型
System.out.println("请输入一个整型");
int t = sc.nextInt();
System.out.println("字符串s:" + s);
System.out.println("整型t:" + t);
}
}
先用nextLine接收字符串再接收整型,我们看看运行结果。
结果运行正常。
例子2:
public class Test01 {
public static void main(String[] args) {
//定义键盘录入对象
Scanner sc = new Scanner(System.in);
//输入一个整型
System.out.println("请输入一个整型");
int t = sc.nextInt();
//输入一个字符串
System.out.println("请输入一个字符串");
String s = sc.nextLine();
System.out.println("整型t:" + t);
System.out.println("字符串s:" + s);
}
}
然后先输入整型,再输入字符串,看看运行结果。
结果是:字符串没有提示输入。
由此我们可以看出来nextInt()和nextLine()再同一个Scanner对象下面,可能回出现无法录入的问题。因此,再整型和字符串类型同时录入的情况下,最好不要同一个Scanner对象接收,或者都用nextLine()接收,然后再将整型强制转换为字符串类型。