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;
}
尝试插入:
reader.nextLine();
...之前
System.out.print("Enter the second student's name: ");
.nextInt()
不下咽的换行符从你的输入中,所以下一次调用nextLine()
只是得到换行符并返回一个空字符串 - 程序继续,打印下一行输出。
谢谢抱歉混淆起初,我刚发现这个网站 – user549442 2010-12-21 04:23:51
你能更清楚地说明这个“重叠”的一部分吗?在你原来的问题中,你的'一对一'是相同的。如果需要保存间距等,请将其作为代码示例
在阅读输入内容后,您应该致电println()
以打印换行符。
这不适用于我的程序我必须输入数据不只是有一个随机的线 – user549442 2010-12-21 04:07:56
@user:我不知道你刚才说什么。 – SLaks 2010-12-21 04:09:31
如果通过“重叠”,你的意思是他们出现在同一行,那么你想要System.out.println
,而不是System.out.print
。 println
发出尾随换行符。
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
而且我建议清除不受影响的代码(关于班学生),只需检查输入仅从控制台输出&。
生病请记住下一个时间 – user549442 2010-12-21 04:27:32
¿输入第二个学生的名字:输入学生的分数:而不是输入第二个学生的名字:输入学生的分数? – miku 2010-12-21 03:45:48
据我所知,该程序连续打印两个“输入...”,而不让您输入学生姓名,对吗?如果这是问题,您可能需要检查“读者”,或提供更多关于它的信息。 – 2010-12-21 04:16:31