当前位置:编程学习 > JAVA >>

连续输入问题

代码如下:
while(j!=0){
     System.out.print("学号:");
     num = scan.nextLine();
     System.out.print("姓名:");
     name = scan.nextLine();
     System.out.print("性别:");
     易做图 = scan.nextLine();
     System.out.print("学院:");
     colloge = scan.nextLine();
     System.out.print("专业班级:");
     pClass = scan.nextLine();
     System.out.print("外语成绩:");
     scoreF = scan.nextDouble();
     System.out.print("计算机成绩:");
     scoreC = scan.nextDouble();
     System.out.print("数学成绩:");
     scoreM = scan.nextDouble();
     Student stu = new Student(num,name,易做图,colloge,pClass,scoreF,scoreC,scoreM);
     mylist.add(stu);
     sum++;
     j--;
}

输入如下:

输入各个学生的信息,各项之间用回车隔开:
学号:0100
姓名:张三
性别:男
学院:信息学院
专业班级:计算机
外语成绩:70
计算机成绩:70
数学成绩:70
学号:姓名:


为什么第二次输入时学号输不进去?而且如果直接输入(我每次输入都要把光标放在如“姓名:”后面),
显示的是“张三姓名:”,这是为什么? --------------------编程问答-------------------- 你看下nextLine()方法api注释:
此扫描器执行当前行,并返回跳过的输入信息。 此方法返回当前行的其余部分,不包括结尾处的行分隔符。当前位置移至下一行的行首。 
因为此方易做图继续在输入信息中查找行分隔符,所以如果没有行分隔符,它可能会缓冲所有输入信息,并查找要跳过的行。 


--------------------编程问答-------------------- 应该木有问题 --------------------编程问答-------------------- 可是我用scan.next()也有同样的问题。我还是理解不了第二次输入时为什么学号输不了
补充:Java ,  非技术区
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,