Kotlin:如何通过重复给定次数的字符来创建字符串

Ant*_*SPR 1 arrays string runtime kotlin

我正在尝试在标题下方打印一行。这个想法是该行与标题的长度相同。我尝试了多种方法,我认为这是最接近的,但它给我的结果不正确。

fun main() {

    val chapters = arrayOf("Basic syntax", "Idioms", "Kotlin by example", "Coding conventions")

    for (numCharpter in chapters.indices){
        // Print the name of the chapter
        val title = "Charpter ${numCharpter + 1}: ${chapters[numCharpter]}"
        val arrayDash = Array(title.length) {'='}
        val stringDash = arrayDash.toString()


        println("$title\n$stringDash\n")

        // the rest of the code
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

Charpter 1: Basic syntax
========================

Charpter 2: Idioms
==================

Charpter 3: Kotlin by example
=============================

Charpter 4: Coding conventions
==============================
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

Charpter 1: Basic syntax
[Ljava.lang.Character;@24d46ca6
Charpter 2: Idioms
[Ljava.lang.Character;@4517d9a3
Charpter 3: Kotlin by example
[Ljava.lang.Character;@372f7a8d
Charpter 4: Coding conventions
[Ljava.lang.Character;@2f92e0f4
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法通过重复字符来初始化字符串?

luk*_*s.j 5

val chapters = arrayOf("Basic syntax", "Idioms", "Kotlin by example", "Coding conventions")

for (numCharpter in chapters.indices) {
  val title = "Chapter ${numCharpter + 1}: ${chapters[numCharpter]}"
  val line = "=".repeat(title.length)
  println("$title\n$line\n")
}
Run Code Online (Sandbox Code Playgroud)