Problème java
taupy
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je reviens vers vous pour mon problème.
Je dois donc générer aléatoirement un byte entre 32 et 127.
J'ai créé une fonction qui génère un byte mais le problème, c'est que ce nombre généré est compris entre -128 et 127.
Il faut, selon les consignes du devoir, utiliser une formule comprenant une addition et l'utilisation du modulo.
Je cherche mais en vain, je ne trouve pas!
Quelqu'un pourrait-il m'aider ??
Je vous remercie!
Je reviens vers vous pour mon problème.
Je dois donc générer aléatoirement un byte entre 32 et 127.
J'ai créé une fonction qui génère un byte mais le problème, c'est que ce nombre généré est compris entre -128 et 127.
Il faut, selon les consignes du devoir, utiliser une formule comprenant une addition et l'utilisation du modulo.
Je cherche mais en vain, je ne trouve pas!
Quelqu'un pourrait-il m'aider ??
Je vous remercie!
A voir également:
- Problème java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
4 réponses
Si tu as déjà généré aléatoirement un nombre entre -128 et 127, tu as peut être déjà fait la manipulation que tu cherches sans t'en rendre compte, il faudrait voir comment tu as fait !
Merci de prendre le temps de répondre...
Voici la fonction qui génère un tableau de byte:
public byte nextByte(){
Random generateur = new Random(System.currentTimeMillis());
byte [] tableau = new byte[1];
generateur.nextBytes(tableau);
return tableau[0];
}//end nextByte
Voici la fonction qui génère un tableau de byte:
public byte nextByte(){
Random generateur = new Random(System.currentTimeMillis());
byte [] tableau = new byte[1];
generateur.nextBytes(tableau);
return tableau[0];
}//end nextByte
Ce n'est pas très propre de créer un tableau à une case comme ça, en plus vu que les byte ne permettent pas de faire des calculs (addition, modulo, etc) sans avoir à repasser par des int, il vaudrait mieux travailler directement avec des int, via les méthodes nextInt ou next.
Remarque : plutôt que d'utiliser une graine sur le temps tu peux laisser le constructeur par défaut de Random...
Remarque : plutôt que d'utiliser une graine sur le temps tu peux laisser le constructeur par défaut de Random...
public byte nextByte() { Random generateur = new Random(); int n; // calcul avec des int return (byte) n; }
Salut,
Cordialement,
Dan
int min = 32; int max = 127; int nbreVal = ((max - min) +1); // nombre de valeurs possibles Random r = new Random(); int aI = min + r.nextInt(nbreVal); System.out.println("Le nombre int aléatoire est " + aI); //conversion int / String String aStr = "" + aI; System.out.println("Le nombre String aléatoire est " + "\"" + aStr + "\""); //conversion int / byte: Integer intObj = new Integer(aStr); byte leByte = intObj.byteValue(); System.out.println("byte leByte = " + leByte); // Ou bien entendu: leByte = Byte.parseByte(aStr); System.out.println("byte leByte = " + leByte);
Cordialement,
Dan