连续输入问题
代码如下: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 , 非技术区