System.out.print是重叠的问题,为什么?

问题描述:

我的问题是,当我运行程序运行所有正确的是System.out.print但是当我的第二个学生跑 它有些是重叠的,像这样: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); 
} 

与错误优惠类是如下

public void setName(String nm){ 
    name = nm; 
} 
+0

¿输入第二个学生的名字:输入学生的分数:而不是输入第二个学生的名字:输入学生的分数? – miku 2010-12-21 03:45:48

+0

据我所知,该程序连续打印两个“输入...”,而不让您输入学生姓名,对吗?如果这是问题,您可能需要检查“读者”,或提供更多关于它的信息。 – 2010-12-21 04:16:31

尝试插入:

reader.nextLine(); 

...之前

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

.nextInt()不下咽的换行符从你的输入中,所以下一次调用nextLine()只是得到换行符并返回一个空字符串 - 程序继续,打印下一行输出。

+0

谢谢抱歉混淆起初,我刚发现这个网站 – user549442 2010-12-21 04:23:51

你能更清楚地说明这个“重叠”的一部分吗?在你原来的问题中,你的'一对一'是相同的。如果需要保存间距等,请将其作为代码示例

在阅读输入内容后,您应该致电println()以打印换行符。

+0

这不适用于我的程序我必须输入数据不只是有一个随机的线 – user549442 2010-12-21 04:07:56

+0

@user:我不知道你刚才说什么。 – SLaks 2010-12-21 04:09:31

如果通过“重叠”,你的意思是他们出现在同一行,那么你想要System.out.println,而不是System.out.printprintln发出尾随换行符。

+0

System.out.println将无法正常工作,因此我无法收到它显示在不同的线路上的数据,就像我想要的那样 – user549442 2010-12-21 03:50:36

我相信你在谈论如何将所有的行打印在同一行上。你必须要么使用换行符 '\ n' 在Java中,或使用System.out.println

如果我的理解是正确的,你可能会有java控制台的输入问题。我不能说很多,因为没有足够的信息,但也许你可以参考这个链接获得在控制台输入:http://www.abbeyworkshop.com/howto/java/readLine/index.html

而且我建议清除不受影响的代码(关于班学生),只需检查输入仅从控制台输出&。

+0

生病请记住下一个时间 – user549442 2010-12-21 04:27:32