Variable aléatoire en java
Résolu/Fermé
Bonjour,
je veux creé une methode générant un nombre aléatoire compris entre 1 et 100
merci d'avance :)
je veux creé une methode générant un nombre aléatoire compris entre 1 et 100
merci d'avance :)
A voir également:
- Variable aléatoire en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
3 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
19 févr. 2012 à 18:46
19 févr. 2012 à 18:46
Tu veux la créer toi même ou utiliser celles qui existent déjà ?
Random rd = new Random(); int n=rd.nextInt(100)+1;
sasuke-18
Messages postés
5
Date d'inscription
dimanche 19 février 2012
Statut
Membre
Dernière intervention
31 mai 2012
2
19 févr. 2012 à 21:46
19 févr. 2012 à 21:46
import java.util.Random;
public class alea {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Random r = new Random();
int valeur = 1 + r.nextInt(100);
System.out.println (valeur);
}
}
public class alea {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Random r = new Random();
int valeur = 1 + r.nextInt(100);
System.out.println (valeur);
}
}
Utilisateur anonyme
22 févr. 2012 à 09:52
22 févr. 2012 à 09:52
Salut,
En réalité la méthode nextInt(int n) retourne une valeur de 0 (zéro) à n non comprise.
Dans le cas des valeurs voulues de 1 à 100, plustôt que de faire +1 systématiquement sur chaque valeur retournée (0 à 99), je trouve plus logique de vérifier que la valeur obtenue n'est pas inférieure à la valeur mini 1 souhaitée et ne pas la prendre si c'est le cas mais refaire le calcul.
Cordialement,
Dan
En réalité la méthode nextInt(int n) retourne une valeur de 0 (zéro) à n non comprise.
Dans le cas des valeurs voulues de 1 à 100, plustôt que de faire +1 systématiquement sur chaque valeur retournée (0 à 99), je trouve plus logique de vérifier que la valeur obtenue n'est pas inférieure à la valeur mini 1 souhaitée et ne pas la prendre si c'est le cas mais refaire le calcul.
boolean encore = true; int mini = 1; int maxi = 100; int n = maxi +1; int valeur = 0; while(encore) { encore = false; Random r = new Random(); // import java.util.Random; valeur = r.nextInt(n); if(valeur < mini) // si mini = 0 valeur ne sera jamais < mini { encore = true; } } System.out.println (valeur);
Cordialement,
Dan
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
22 févr. 2012 à 14:18
22 févr. 2012 à 14:18
Tu trouves vraiment plus logique de faire une boucle while aussi longue et coûteuse en calculs (une création d'objet, un appel de méthode, un test, une affectation...) alors qu'il suffit de faire +1 ?
19 févr. 2012 à 19:35
est ce que la commande random appartient a un package bien défini?
19 févr. 2012 à 20:02
Random est dans java.util
19 févr. 2012 à 21:12