IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java ME Discussion :

génération de string aléatoire


Sujet :

Java ME

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2005
    Messages : 84
    Par défaut génération de string aléatoire
    bonjour!

    je veux générer aléatoirement des chaines de caractères. La solution que j'ai trouvée est de:
    1) créer un tableau static final contenant les lettres de l'alphabet
    2) générer un nombre aléatoire "taille"
    3) pour i=1,taille générer un nombre <26 correspondant de à l'indice de la lettre dans le tableau est l'ajouter à la chaine.

    Avez-vous une meilleures idée ou une solution plus élégante ou efficace :

  2. #2
    Membre chevronné Avatar de let_me_in
    Inscrit en
    Mai 2005
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 441
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Random r=new Random();
    byte[] tab=new byte[15];
    r.nextBytes(tab);
    String chaine=new String(tab);
    tu peux specifier la longueur que tu veux a ta chaine dans la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    byte[] tab=new byte[15];
    ici 15.

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2005
    Messages : 84
    Par défaut
    nextBytes() n'existe pas sous J2ME (MIDP).

  4. #4
    HNT
    HNT est déconnecté
    Membre éclairé Avatar de HNT
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    448
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 448
    Par défaut
    Une solution serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    /*
    L'utilisation des constantes te permet de mettre des bornes pour pas
    avoir des chaines d'une taille de malade ou si tu veut limiter les caractères qui peuvent s'y retrouver
    */
    private static final char MIN_VALUE = 0;//ce que tu veut
    private static final char MAX_VALUE = 0;//idem
    private static final byte TAILLE_MIN = 1;
    private static final byte TAILLE_MAX = 30;
     
    public String randomChaine()
    {
            char [] tableau = new char[monRandomEntier()];
            for (int i = 0; i < tableau.length; i++)
                       tableau[i] = monRandomChar();
            return new String(tableau);
    }
     
    private int monRandomEntier()
    {
    		return (int) (Math.random() * TAILLE_MAX - TAILLE_MIN  + 1)) + TAILLE_MIN ;
    }
     
    private char monRandomChar()
    {
                   return (char) (Math.random() * MAX_VALUE - MIN_VALUE + 1)) + MIN_VALUE ;
    }
    Tu peut aussi modifier les deux premières constantes pour te limiter à l'alphabet
    Essaye avec ça et dit nousquoi ...

Discussions similaires

  1. Une erreur 233 de ms sql server
    Par Hokage dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 05/10/2009, 17h40
  2. Erreur 233 sous sql server
    Par brajae85 dans le forum Oracle
    Réponses: 3
    Dernier message: 18/05/2009, 16h12
  3. Réponses: 2
    Dernier message: 05/10/2004, 22h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo