Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MOOC赫尔辛基第10周练习28怪异测试结果_Java - Fatal编程技术网

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的跨站点副本。