第一次可以正常循环,第二次怎么就报错了呢?大神帮忙看看

搞个锤子 2018-07-08 04:57:55
这是循环代码
运行后第一个循环正常 第二次第三次出现问题
第二次 第三次这条语句没执行
...全文
343 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
搞个锤子 2018-07-09
  • 打赏
  • 举报
回复
引用 1 楼 lynmison 的回复:
问题出在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));
}
}
谢谢!
搞个锤子 2018-07-09
  • 打赏
  • 举报
回复
引用 2 楼 wei_wxx 的回复:
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接收,
谢谢!
wei_wxx 2018-07-09
  • 打赏
  • 举报
回复
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接收,
天行归来 2018-07-08
  • 打赏
  • 举报
回复
问题出在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));
}
}

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧