首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >赫尔辛基MOOC第10周练习28个奇怪的测试结果

赫尔辛基MOOC第10周练习28个奇怪的测试结果
EN

Stack Overflow用户
提问于 2017-12-01 17:25:52
回答 1查看 230关注 0票数 0

简短版本:

为什么要这样写代码:

代码语言:javascript
运行
复制
@Override
public String toString() {
    String result = "";
    for (Movable i : this.allObjects) {
        result += i.toString();
        result +='\n';
    }
    return result;
}

被自动测试接受,而不会在我的控制台上产生结果,而这个:

代码语言:javascript
运行
复制
@Override
public String toString() {
    for (Movable i : this.allObjects) {
        System.out.println(i.toString());
    }
    return "";
}

在我的控制台上打印属性结果,而不根据相同的测试打印任何内容?

长版本:

我正在用赫尔辛基大学创建的MOOC学习Java,我真的对其中一个练习的结果感到惊讶。它在这里:

http://mooc.cs.helsinki.fi/programming-part2/material/week-10?noredirect=1

28号。这是关于对象多态性的非常简单和简单的练习,我写了一段代码,它在控制台中始终提供预期的结果。但这里有个问题。我没能通过考试。我收到的错误看起来像是我无法打印结果,尽管我在屏幕上看到了这些结果。我设法找出了重写Group类中的toString方法的错误所在

我花了一些时间试图找出代码中的错误,但没有用。因此,我最终放弃了--自从我开始这门课程以来的第一次--我寻找了一个正确的答案。当我应用找到解决方案时,测试通过了,但是iI在我的控制台上看不到任何结果。我也不知道为什么。

EN

回答 1

Stack Overflow用户

发布于 2017-12-01 17:30:05

因为你不应该在控制台上看到任何东西。toString()方法返回一个对象的String表示形式。在正确的代码中,将返回正确的结果。

在您的代码中,显式地在控制台上打印内容,然后返回一个空的String

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47590222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档