如何在Scala中打印填充矩形?

时间:2015-03-31 18:28:52

标签: scala

打印填充的填充矩形 // inChar中字符的指定列数和行数, //由字符edgeChar构成的边框包围。

我很困惑所以我理解我想制作多个循环。 到目前为止,我有一个嵌套循环,其中外循环是列数,内循环是行数。 我很困惑如何打印特定数量的短划线和+ s 和我的循环内容。 以及宽度和高度如何以及在何处发挥作用

for (k=1; k <= columns;  columns >= k++) {
  for (i = 1; i <= rows >= i++) {
    println(edgeChar)
    //println(+-)
  }

  for (i = 1; i <= rows; i++){
    for (j)
      println(edgeChar)
    }
    for (j = 1; j <= columns; j++){
      println(inChar)
    }
    for (k, k<=columns+2;k++){
      println(edgeChar)

1 个答案:

答案 0 :(得分:4)

这是Scala,你可能想要映射和播放列表而不是循环。这是一个工作示例(粘贴在scala REPL中):

val ec="@"
val cc="X"
val cols=8
val rows=5

((ec*(cols+2)) +: Range(0,rows).map( _ => ec+cc*cols+ec) :+ (ec*(cols+2)) ).mkString("\n")

这导致:

res22: String =
@@@@@@@@@@
@XXXXXXXX@
@XXXXXXXX@
@XXXXXXXX@
@XXXXXXXX@
@XXXXXXXX@
@@@@@@@@@@