Java System.out.print与问题重叠为什么?

Java System.out.print与问题重叠为什么?,java,Java,我的问题是,当我运行程序时,它会正确运行所有System.out.print,但当我运行时 对于第二个学生,有些重叠如下: "Enter the second student's name: Enter the student's score: " 而不是 "Enter the second students's name: " "Enter the student's score: " 我也无法将数据输入第二个学生的System.out.print方法 我的主代码,其中错误为: Syst

我的问题是,当我运行程序时,它会正确运行所有System.out.print,但当我运行时 对于第二个学生,有些重叠如下:

"Enter the second student's name: Enter the student's score: "
而不是

"Enter the second students's name: "

"Enter the student's score: "
我也无法将数据输入第二个学生的System.out.print方法

我的主代码,其中错误为:

System.out.print("Enter the first student's name: ");
name = reader.nextLine();
student1.setName(name);
for (int i = 1; i <= 3; i++){
    System.out.print("Enter the students's score: ");
    score = reader.nextInt();
    student1.setScore(i, score);
}

System.out.print("Enter the second student's name: "); //overlaps(stays on same line)
//also wont let me enter data here
name = reader.nextLine();
student2.setName(name);
for (int i = 1; i <= 3; i++){
    System.out.print("Enter the students's score: "); //program skips to here to input
//data
    score = reader.nextInt();
    student2.setScore(i, score);
}

你能更清楚地描述一下这种“重叠”吗?在你最初的问题中,你的“一对另一”是相同的。如果需要保留间距,请将其作为代码示例。

读取输入后,应调用
println()
打印换行符。

如果“重叠”表示它们出现在同一行上,则需要
System.out.println
,而不是
System.out.print
println
发出一个尾随的换行符。

我相信您所说的是如何在同一行上打印所有行。您需要在Java中使用换行符“\n”,或者使用
System.out.println
尝试插入:

reader.nextLine();
…以前

System.out.print("Enter the second student's name: ");

.nextLine()
不会从您的输入中删除换行符,因此对
nextLine()
的下一次调用只会获取换行符并返回一个空字符串-程序继续,打印下一行输出。

如果我的理解是正确的,那么java控制台的输入可能会有问题。我不能说太多,因为没有足够的信息,但也许您可以参考以下链接在java控制台中获取输入:


我建议清除未受影响的代码(关于班级学生),只需检查控制台的输入和输出。

输入第二个学生的姓名:输入学生的分数:
而不是
输入第二个学生的姓名:输入学生的分数
?据我所知,程序打印两个“输入…”连续不让你输入学生姓名,对吗?如果是这个问题,你可能需要检查“阅读器”,或者提供更多的信息。@user:我不知道你刚才说了什么。
System.out.print("Enter the second student's name: ");