Vérifier la présence d'un int dans un string
Résolu/Fermé
A voir également:
- Vérifier la présence d'un int dans un string
- Verifier un lien - Guide
- Comment verifier un site internet - Guide
- Verifier compatibilite windows 11 - Guide
- Vérifier si mot de passe piraté - Guide
- Checking media presence - Forum Windows 10
3 réponses
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
7 nov. 2016 à 17:30
7 nov. 2016 à 17:30
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.
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
7 nov. 2016 à 13:15
7 nov. 2016 à 13:15
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.