0
votes

Kotlin obtient une chaîne aléatoire de tableau

Nouveau à Kotlin et pas mal de questions et réponses, principalement en Java. Après avoir suivi la documentation et vérifier de nombreux SO questions / réponses Studio Android se plaint sur les éléments suivants dans une fonction. La fonction est xxx

cotes est une arrayof (chaînes) xxx

Il est écrit pour xxx

qu'il devrait s'agir d'une unité mais trouvé string . RandomValue doit être un entier tel que défini par le Docs Utiliser NEXIGNEINT Sauf si j'ai mal interprété les documents. Je ne vois pas la question. J'essaie juste de renvoyer au hasard une chaîne de la matrice. Je pensais peut-être qu'un autre faux positif du studio, donc j'ai nettoyé le projet, mais cela s'arrête ici sur la construction. N'importe qui voyez ce que c'est que je fais mal.


0 commentaires

3 Réponses :


1
votes

Votre fonction ne spécifie pas de type de retour, c'est pourquoi le compilateur s'attend à une «unité» qui serait identique à celle de Java.

Lorsque vous souhaitez renvoyer une chaîne, vous devez le préciser comme si P>

fun getRandomQuote(): String {
    val randomValue = Random.nextInt(quotes.size)
    return quotes[randomValue]
}


1 commentaires

Merci à éviter. C'était la solution. Apprécier l'explication.



0
votes

Vous êtes juste en train de manquer ce xxx

puisque vous revenez de la fonction qui est une chaîne. Si nous ne retournons rien, cela signifie son unité à Kotlin et nous n'avons pas à le mentionner et de le renvoyer. Autre que cela, nous avons pris mention de ce que nous retournons en mettant le droit au côlon. ex: xxx


0 commentaires

3
votes

Comme les autres réponses indiquées, votre fonction est manquante type de retour, donc par défaut, c'est unité code>. Spécification du type de retour comme string code> corrige l'erreur.

J'aimerais proposer un autre moyen plus succinct de choisir un élément aléatoire à partir d'une matrice à l'aide du générateur de nombres aléatoires par défaut: utilisez simplement le aléatoire code> fonction d'extension disponible sur les collections et Réseaux. P>

    val colors = arrayOf("red", "blue", "yellow")
    val randomColor = colors.random()


0 commentaires