Kotlin 2.4
Ejercicios de Kotlin sobre Strings
5 ejercicios de Strings en Kotlin. Piensa la respuesta antes de abrirla: la explicación dice por qué las demás opciones fallan.
1 · Elige la respuesta · nivel 1
¿Qué imprime este código?
val items = listOf("pan", "leche")println("Tienes ${items.size} productos")- ATienes 2 productos
- BTienes ${items.size} productos
- CTienes items.size productos
- DNo compila
Ver la respuesta
Respuesta: A. Tienes 2 productos
Dentro de un string, $variable inserta un valor y ${expresión} inserta el resultado de cualquier expresión.
2 · Elige la respuesta · nivel 1
¿Qué imprime este código?
fun main() { val name = "Irene" println("Hola, $name")}- AHola, Irene
- BHola, $name
- CHola, name
- DNo compila
Ver la respuesta
Respuesta: A. Hola, Irene
Dentro de un String, $nombre inserta el valor de la variable. Es la forma habitual de montar textos en Kotlin.
3 · Elige la respuesta · nivel 1
¿Qué imprime este código?
fun main() { println("kotlin".length)}- A6
- B5
- C7
- Dkotlin
Ver la respuesta
Respuesta: A. 6
length da el número de caracteres. En Kotlin es una propiedad, así que va sin paréntesis.
4 · Encuentra el fallo · nivel 1
No compila: Too many characters in a character literal. ¿Qué línea tiene el fallo?
1fun main() {2 val animal = 'zorro'3 println(animal)4}Ver la respuesta
El fallo está en la línea 2:
val animal = 'zorro'Se arregla conval animal = "zorro".Los String van entre comillas dobles. Las simples son solo para un carácter (Char), como 'z'.
5 · Ordena las líneas · nivel 2
Ordena el código para que imprima Total: 42 y, en la línea siguiente, Fin.
- append("Fin")
- append("Total: ")
- append(42)
- appendLine()
- this.add(42)
- }
- println(report)
- val report = buildString {
Ver la respuesta
El orden correcto:
val report = buildString { append("Total: ") append(42) appendLine() append("Fin")}println(report)Sobran: this.add(42)
buildString crea un StringBuilder, ejecuta el bloque con él como this y devuelve el String resultante. appendLine() sin argumentos añade un salto de línea.