你用sc.nextint()读一个int时如果是在一行上输入,然后按enter结束,scanner不会跳过结尾的'\n',而nextline()的作用是跳过'\n'并返回被跳过的字符串,所以你下次nextline()的调用由于缓冲区里已经有一个'\n',所以就直接跳到输入课程名字去了。
解决方法是在nextint()后加一句nextline():
scanner
sc
=
new
scanner(system.in);
int
conditon2
=
sc.nextint();
sc.nextline();
//
跳过'\n'
switch
(conditon2)
{
case
1:
for
(int
i
=
0;
i
<
theory.length
;
i++)
{
if
(theory[i]
==
null)
{
system.out.print("请输入课程编号:");
courseid
=
sc.nextline();
system.out.print("请输入课程名字:");
coursename
=
sc.nextline();
break;
}
break;
default:
break;
}
}
温馨提示:答案为网友推荐,仅供参考