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 :

Boucle et comparaison de string


Sujet :

Java ME

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 10
    Points : 113
    Points
    113
    Par défaut Boucle et comparaison de string
    Bonjour à tous!

    Débutant en j2me, je m'attache à créer une petite midlet dans laquelle j'ai une boucle qui va remplir un String[] à condition que les valeurs lues ne soient pas identiques aux précédentes.

    Pour ce faire j'utilise la boucle suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for(int i=0;i<currentPlane.itemsList.size();i++)
            {            
                currentItem=(Item)currentPlane.itemsList.elementAt(i);  
             if(i>0)      
                if(!(menuCatContent[i].equals(menuCatContent[i-1])))
                    menuCatContent[i]=currentItem.category;
            }
    Le projet compile, s'exécute, mais n'effectue qu'un seul tour de boucle et me renvoie une erreur dans mon display (??). Je test alors en enlevant la comparaison:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for(int i=0;i<currentPlane.itemsList.size();i++)
            {          
             if(i>0)
                currentItem=(Item)currentPlane.itemsList.elementAt(i);            
                    menuCatContent[i]=currentItem.category;
            }
    Et là, aucun problème, tout marche (enfin je me retrouve avec plusieurs fois le même item dans mon String[])

    L'erreur retournée est la suivante:

    TRACE: <at java.lang.ArrayIndexOutOfBoundsException: 0>, Exception caught in Display class
    java.lang.ArrayIndexOutOfBoundsException: 0

    Et j'avoue ne vraiment pas comprendre le soucis, tout parait pourtant ok...

    J'utilise CLDC 1.1 et MIDP 2.0

    Si vous aviez une piste, ce serait super, merci d'avance pour m'avoir lu

  2. #2
    Membre confirmé Avatar de Mobius
    Profil pro
    none
    Inscrit en
    Avril 2005
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : none

    Informations forums :
    Inscription : Avril 2005
    Messages : 463
    Points : 558
    Points
    558
    Par défaut
    Premierement, pense a utiliser la balise [code ] ou le bouton "#" pour ajouter du code.

    Pour répondre a ta question :
    Lors de la première itération tu fait "menuCatContent[i].equals(menuCatContent[i-1]))"
    soit "menuCatContent[0].equals(menuCatContent[-1]))"

    trouver l'erreur...

    tu cherche a obtenir un élément en dehors du tableau (d'ou l'exception ArrayIndexOutOfBoundsException)
    Librairie d'accès LDAP en Java : LdapBeans
    et pensez au tag

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 10
    Points : 113
    Points
    113
    Par défaut
    Bonjour Mobius,

    Merci de ton aide, je me suis trompé dans le code posté (à force de trifouiller je sais plus où j'en suis...)
    J'ai une fonction si qui m'assure que mon test ne se passe que lorsque mon i est >0 l'erreur retournée devient alors:

    TRACE: <at java.lang.NullPointerException: 0>, Exception caught in Display class

    Voila, c'était ca que je devais poster en premier lieu, désolé pour l'erreur

    Edition: J'ai essayé de changer le premier post

    Edition bis:

    Erreur trouvée, bétise de ma part, à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    currentItem=(Item)currentPlane.itemsList.elementAt(i);
    Ce n'est pas elementAt(i) de ma liste qu'il faut mettre, car elle ne contient qu'un seul élément, d'où le simple tour de boucle... Surement la fatigue dira-t-on. L'erreur ciblant le Display m'a fait chercher au mauvais endroit.

    Merci en tous cas!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparaison de String avec jokers
    Par kitsune dans le forum Langage
    Réponses: 8
    Dernier message: 22/05/2006, 15h21
  2. pb de comparaison de string
    Par Kpone dans le forum Langage
    Réponses: 2
    Dernier message: 03/03/2006, 23h31
  3. [LG] Comparaison de strings
    Par Pack_of_the_Night dans le forum Langage
    Réponses: 2
    Dernier message: 09/02/2006, 20h58
  4. Réponses: 1
    Dernier message: 24/12/2005, 14h18
  5. [C#] Erreur comparaison de string
    Par Damsou dans le forum ASP.NET
    Réponses: 13
    Dernier message: 11/02/2005, 11h14

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