Vérifier la présence d'un int dans un string
Résolu
AlexStudent
-
AlexStudent -
AlexStudent -
Bonjour,
J'ai un travail à faire qui consiste à générer des nombres aléatoires allant de 1 à 5 et ( ex: 21453 ). J'utilise la méthode math.random et mon intention est d'appeler, à chaque nouveau chiffre généré, une méthode qui regarde si le chiffre est déjà présent dans un string que j'aurai initialisé, si OUI on ne le prend pas et on génère un autre nombre aléatoire entre 1 et 5 et si NON on met ce chiffre dans le string et on génère un autre nombre aléatoire, et bien sûr une fois que le string contient 5 chiffres on arrête tout et on return le string.
La seule chose qui me manque c'est savoir comment passer en revue un string pour voir si le chiffre généré en fait parti ou pas, quelqu'un saurait-il m'aider svp? Merci d'avance.
J'ai un travail à faire qui consiste à générer des nombres aléatoires allant de 1 à 5 et ( ex: 21453 ). J'utilise la méthode math.random et mon intention est d'appeler, à chaque nouveau chiffre généré, une méthode qui regarde si le chiffre est déjà présent dans un string que j'aurai initialisé, si OUI on ne le prend pas et on génère un autre nombre aléatoire entre 1 et 5 et si NON on met ce chiffre dans le string et on génère un autre nombre aléatoire, et bien sûr une fois que le string contient 5 chiffres on arrête tout et on return le string.
La seule chose qui me manque c'est savoir comment passer en revue un string pour voir si le chiffre généré en fait parti ou pas, quelqu'un saurait-il m'aider svp? Merci d'avance.
A voir également:
- Vérifier la présence d'un int dans un string
- Verifier un lien - Guide
- Verifier compatibilite windows 11 - Guide
- Vérifier si mot de passe piraté - Guide
- Vérifier si une phrase est correcte - Accueil - Google
- Vérifier température pc - Guide
3 réponses
Bonjour,
En complément de la réponse e Whismeril je rajouterai que manipuler un String n'est pas viable. Les nombres de 1 à 5 c'est un cas très particulier mais si on reprends le problème pour aller de 1 à 20 par exemple ça ne fonctionne plus avec un String car il y a plusieurs chiffres à prendre en compte pour les nombres.
La bonne solution est de manipuler directement des int soit dans un tableau soit dans une collection et d'opérer le mélange par permutations successives.
Remarque : Math.random n'est pas forcément la meilleure méthode dans ton cas, la classe Random fourni des méthodes plus utiles comme par exemple nextInt.
En complément de la réponse e Whismeril je rajouterai que manipuler un String n'est pas viable. Les nombres de 1 à 5 c'est un cas très particulier mais si on reprends le problème pour aller de 1 à 20 par exemple ça ne fonctionne plus avec un String car il y a plusieurs chiffres à prendre en compte pour les nombres.
La bonne solution est de manipuler directement des int soit dans un tableau soit dans une collection et d'opérer le mélange par permutations successives.
Remarque : Math.random n'est pas forcément la meilleure méthode dans ton cas, la classe Random fourni des méthodes plus utiles comme par exemple nextInt.
Bonjour
deux solutions qui marchent quoique tu veuilles tirer au sort sans doublon (jeu de cartes, numéro de 1 à 5, loto , membres d'un jury etc....)
Tu crées et remplies une collection avec tous les éléments possiblement tirés au sort (une List par exemple qui contiendrait 1, 2, 3, 4 et 5).
Une fois que tu as ta collection mélangée, tu en fait un string.
PS, je ne code pas en Java, donc je ne te montrerais pas de code, mais je lis suffisamment le Java pour savoir que mes deux options sont possibles.
deux solutions qui marchent quoique tu veuilles tirer au sort sans doublon (jeu de cartes, numéro de 1 à 5, loto , membres d'un jury etc....)
Tu crées et remplies une collection avec tous les éléments possiblement tirés au sort (une List par exemple qui contiendrait 1, 2, 3, 4 et 5).
- Option1
- dans une boucle plusieurs fois de suite (à toi de voir combien de fois), tu génères aléatoirement deux index de 0 à 4 et tu inverse la place des 2 éléments. Ceci fonctionne aussi avec un tableau.
- Option2
- dans une boucle qui dure tant que la collection contient des éléments, tu génères aléatoirement un index entre 0 et le nombre d'éléments actuels de la collection. Tu ajoutes l'élément correspondant à l'index dans une seconde collection et tu l'enlèves de la première.
Une fois que tu as ta collection mélangée, tu en fait un string.
PS, je ne code pas en Java, donc je ne te montrerais pas de code, mais je lis suffisamment le Java pour savoir que mes deux options sont possibles.