运行后第一个循环正常 第二次第三次出现问题
第二次 第三次这条语句没执行
4 个解决方案
#1
问题出在nextInt上。nextInt读取数字,回车会被nextLine接收。意味第二轮循环跳过姓名输入。
public static void main(String[]args){
Scanner s = new Scanner(System.in);
String input;
User[] ulist = new User[3];
for(int i=0; i<ulist.length; i++){
ulist[i] = new User();
System.out.println("请输入"+(i+1)+"姓名:");
input = s.nextLine();
ulist[i].setName(input);
System.out.println("请输入"+(i+1)+"年龄:");
input = s.nextLine();
ulist[i].setAge(Integer.parseInt(input));
}
}
#2
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Student[] stu = new Student[3];
for(int i=0;i<stu.length;i++){
stu[i] = new Student();
System.out.println("请输入第"+(i+1)+"个学生姓名");
stu[i].setName(scanner.next());
System.out.println("请输入第"+(i+1)+"个学生年龄");
stu[i].setAge(scanner.nextInt());
}
for(int i = 0;i<stu.length ;i++){
System.out.println("第"+(i+1)+"组学生姓名:"+stu[i].getName() + " ;学生年龄:"+stu[i].getAge());
}
}
next()
查找并返回来自此扫描器的下一个完整标记。
nextLine()
此扫描器执行当前行,并返回跳过的输入信息。
数字的回车被nextline接收,
Scanner scanner = new Scanner(System.in);
Student[] stu = new Student[3];
for(int i=0;i<stu.length;i++){
stu[i] = new Student();
System.out.println("请输入第"+(i+1)+"个学生姓名");
stu[i].setName(scanner.next());
System.out.println("请输入第"+(i+1)+"个学生年龄");
stu[i].setAge(scanner.nextInt());
}
for(int i = 0;i<stu.length ;i++){
System.out.println("第"+(i+1)+"组学生姓名:"+stu[i].getName() + " ;学生年龄:"+stu[i].getAge());
}
}
next()
查找并返回来自此扫描器的下一个完整标记。
nextLine()
此扫描器执行当前行,并返回跳过的输入信息。
数字的回车被nextline接收,
#3
谢谢!
#4
谢谢!
#1
问题出在nextInt上。nextInt读取数字,回车会被nextLine接收。意味第二轮循环跳过姓名输入。
public static void main(String[]args){
Scanner s = new Scanner(System.in);
String input;
User[] ulist = new User[3];
for(int i=0; i<ulist.length; i++){
ulist[i] = new User();
System.out.println("请输入"+(i+1)+"姓名:");
input = s.nextLine();
ulist[i].setName(input);
System.out.println("请输入"+(i+1)+"年龄:");
input = s.nextLine();
ulist[i].setAge(Integer.parseInt(input));
}
}
#2
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Student[] stu = new Student[3];
for(int i=0;i<stu.length;i++){
stu[i] = new Student();
System.out.println("请输入第"+(i+1)+"个学生姓名");
stu[i].setName(scanner.next());
System.out.println("请输入第"+(i+1)+"个学生年龄");
stu[i].setAge(scanner.nextInt());
}
for(int i = 0;i<stu.length ;i++){
System.out.println("第"+(i+1)+"组学生姓名:"+stu[i].getName() + " ;学生年龄:"+stu[i].getAge());
}
}
next()
查找并返回来自此扫描器的下一个完整标记。
nextLine()
此扫描器执行当前行,并返回跳过的输入信息。
数字的回车被nextline接收,
Scanner scanner = new Scanner(System.in);
Student[] stu = new Student[3];
for(int i=0;i<stu.length;i++){
stu[i] = new Student();
System.out.println("请输入第"+(i+1)+"个学生姓名");
stu[i].setName(scanner.next());
System.out.println("请输入第"+(i+1)+"个学生年龄");
stu[i].setAge(scanner.nextInt());
}
for(int i = 0;i<stu.length ;i++){
System.out.println("第"+(i+1)+"组学生姓名:"+stu[i].getName() + " ;学生年龄:"+stu[i].getAge());
}
}
next()
查找并返回来自此扫描器的下一个完整标记。
nextLine()
此扫描器执行当前行,并返回跳过的输入信息。
数字的回车被nextline接收,
#3
谢谢!
#4
谢谢!