在输入数据时,我们常常使用回车来切换输入下一条数据。
在下面这个例子中,在第一次输入姓名回车后,nextLine()会吸收掉回车,所以再输入年龄时获取的数据就是正常的。但是第二次循环时,因为第一次输入年龄后输入了回车,这个回车事实上被第二次循环的nextLine()获取了,所以此时再像第一次一样输入姓名和年龄会报错,因为nextInt()获取到的是姓名,类型不匹配。
package day9;
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList s=new ArrayList();
Scanner sc=new Scanner(System.in);
ArrayList studentArr=new ArrayList();
Student student=new Student();
for (int i=0;i<2;i++){
System.out.println("请输入姓名和年龄:");
student.setName(sc.nextLine());
student.setAge(sc.nextInt());
studentArr.add(student);
sc.nextLine();
}
for (int i=0;i



