【问题标题】:Return 2D array of chars with toString method (maze)使用 toString 方法返回二维字符数组(迷宫)
【发布时间】:2020-07-23 11:23:13
【问题描述】:

编辑:已解决

我的作业有点问题。我们应该从文件中读取迷宫(并解决它们,但不是现在的问题),但我需要一个 toString 方法来返回准备打印的迷宫。我不知道如何正确打印它。 另外,很抱歉一切都是挪威语,我们必须这样做。感谢您的帮助!

一些类上下文:我有一个类 Labyrint(迷宫),一个抽象类 Rute(盒子)。 Rute有两个子类SortRute(黑盒)和HvitRute(白盒),还有HvitRute的子类Aapning(开口)。黑框被识别为字符“#”和白色“.”。盒子类有一个方法 char tilTegn(),它返回 '#' 或 '.'如果有用的话。

一个示例迷宫,8 为列,9 为行:

8 9
#####.###
#.....#.#
#.#####.#
#.#.....#
#.#.###.#
#.#.#.#.#
#.....#.#
#########

谢谢!

【问题讨论】:

  • 这是您的打印问题吗?
  • 我必须返回看起来像示例迷宫的迷宫,以便我可以通过主程序打印它,但我无法正确打印它,因为我的 toString 方法有问题,我可以不知道。
  • 如何在构造函数中从lab初始化labyrintRutetoString方法是什么样的?如果您可以使用这些详细信息更新您的问题,我相信有人可以提供帮助。

标签: java multidimensional-array char tostring


【解决方案1】:

不要使用+ 运算符添加到 String 中,而是考虑创建一个 StringBuilder,或者使用 String.concat() 方法来连接字符串。我们不会像在原始类型中那样添加到字符串中。

s += labyrint[i][j]; 替换为s.concat(labyrint[i][j];)

【讨论】:

  • 根据我们的课程,应该有一种没有我们尚未了解的 StringBuilder 和 s.concat 的方法。我试过 s.concat 但没用,因为 Rute 无法转换为 String(Rute 是上面提到的抽象类)。
猜你喜欢
  • 2021-05-25
  • 2019-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-02
相关资源
最近更新 更多