2
votes

Pourquoi ajouter 0 en utilisant nextInt ()

Je suis un instructeur qui crée un jeu de jouets tic tac, pour le faire jouer automatiquement.

var r = Random()
val randInt = r.nextInt(emptyCell.size-0) + 0    // adding 0 here

pourquoi devons-nous ajouter +0 ici?


0 commentaires

3 Réponses :


1
votes

Il n'y a aucune raison pour que vous deviez écrire + 0 dans ce cas. nextInt renvoie un Int , donc ajouter 0 comme Int ne fait absolument rien - ne change pas le type ou n'affecte pas la valeur - vous vous attendez.

Probablement une faute de frappe dans le didacticiel.


1 commentaires

Merci. je l'ai.



1
votes

C'est un billet pour changer une valeur si vous le souhaitez. L'auteur vient de vous montrer où et comment le mettre.

Voici à quoi devrait ressembler votre code:

var random = Random()
var randomIndex: Int?
randomIndex = random.nextInt(emptyCell.size - 1) + 2   // two values instead of 00
println("randomIndex $randomIndex")

val emptyCellId = emptyCell[randomIndex]
println("emptyCellId $emptyCellId")

var btnSelect: Button?
btnSelect = setButtonId(noOfCards, emptyCellId)


2 commentaires

Alors pourquoi n'écrivons-nous pas r = random.nextInt (emptyCells.size) pour choisir au hasard l'un des index à partir de là. directement?


Le moyen le plus simple de le découvrir - poser cette question à l'auteur - Dharma Kshetri (vous pouvez le trouver sur SO).



0
votes

L'ajout de 0 fonctionnera mais cela ne changera rien.

Notez que vous utilisez java.util.Random qui limiterait votre code à la JVM.

Si vous utilisez kotlin.random.Random votre code ciblera toutes les plates-formes que Kotlin fait et serait plus simple car vous n'avez pas besoin d'instancier une classe.

Vous pouvez l'utiliser comme ceci:

val randInt = Random.nextInt(emptyCell.size)

Consultez le autres variantes de nextInt si vous n'avez pas besoin de spécifier de liens ou vous devez spécifier une limite supérieure.


0 commentaires