Java MOOC赫尔辛基第10周练习28怪异测试结果
简短版本: 为什么要使用此代码:Java MOOC赫尔辛基第10周练习28怪异测试结果,java,Java,简短版本: 为什么要使用此代码: @Override public String toString() { String result = ""; for (Movable i : this.allObjects) { result += i.toString(); result +='\n'; } return result; } 自动测试接受,但不在我的控制台上生成结果,而此: @Override public String
@Override
public String toString() {
String result = "";
for (Movable i : this.allObjects) {
result += i.toString();
result +='\n';
}
return result;
}
自动测试接受,但不在我的控制台上生成结果,而此:
@Override
public String toString() {
for (Movable i : this.allObjects) {
System.out.println(i.toString());
}
return "";
}
在我的控制台上打印propers结果,同时根据相同的测试不打印任何内容
长版本:
我正在学习赫尔辛基大学创建的MOOC java,我对其中一个练习的结果感到非常惊讶。在这里:
28号。关于对象多态性,这是一个非常简单明了的练习,我编写了一段代码,在控制台中始终如一地给出了预期的结果。但这里有个问题。我没能通过考试。我收到的错误看起来像是我无法打印结果,尽管我在屏幕上看到了这些结果。我设法指出了错误所在,即从组类重写toString方法
我花了一些时间试图找出我的代码中的错误,但没有结果。所以最后我放弃了,自从我开始这门课程以来,我第一次寻找一个正确的答案。当我应用Find解决方案时,测试通过了,但我在控制台上看不到任何结果。我不知道为什么 因为你不应该在控制台上看到任何东西。
toString()
方法返回对象的String
表示形式。在正确的代码中,将返回正确的结果
在代码中,您在控制台上显式打印内容,然后返回一个空的
字符串
,因为您不应该在控制台上看到任何内容。toString()
方法返回对象的String
表示形式。在正确的代码中,将返回正确的结果
在你的代码中,你在控制台上显式打印东西,然后返回一个空的
字符串
好吧,我想我知道我的错误在哪里了!我认为toString方法是一种打印对象的方法,但实际上它是一种将对象表示为字符串的方法,它们可能是,但不一定是打印的。谢谢你的回答!的确毕竟,你不知道在哪里打印它。您的代码假设控制台总是可用的,而这可能不是真的。好吧,我想我知道我的错误在哪里了!我认为toString方法是一种打印对象的方法,但实际上它是一种将对象表示为字符串的方法,它们可能是,但不一定是打印的。谢谢你的回答!的确毕竟,你不知道在哪里打印它。您的代码假设控制台始终可用,但情况可能并非如此。这几乎是over at CS Educators的跨站点副本。这几乎是over at CS Educators的跨站点副本。