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

avec Java Discussion :

Erreur "ArrayIndexOutOfBoundsException : 1"


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gers (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 35
    Points
    35
    Par défaut Erreur "ArrayIndexOutOfBoundsException : 1"
    Bonjour à tous,

    Quand je lance mon programme, j'obtiens l'erreur suivante :



    Quelqu'un saurait-il m'indiquer d'où peut venir l'erreur ?
    J'ai les sources mais je ne sais pas où sont les erreurs.

    Merci d'avance pour votre aide.
    Images attachées Images attachées  

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Tu as un ArrayIndexOutOfBoundsException sur la ligne 1333 de la classe Personnage.
    La prochaine fois cite l'erreur ici et donne le code incriminé.

    A+.

  3. #3
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Oui, mais en général un copier coller du stacktrace plutôt qu'une image est préférable.

    Sinon le problème se situe exactement la :

    Ligne 1333 de Personnage.java

    Tu essaies d'obtenir un élément d'une liste alors qu'il n'y en a pas à cet endroit.

    edit: trop lent grrr
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gers (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 35
    Points
    35
    Par défaut
    Merci de vos réponses

    Voici la ligne 1333 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                    int qtd = Integer.valueOf(item.split(":")[1]).intValue();
    Vous voulez sans doute quelques explications ?

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Citation Envoyé par xixou Voir le message
    item.split(":")[1]
    Faut voir la valeur du String item.
    Mais a priori il ne contient pas de ':' et donc le split ne retourne pas un tableau avec un index >=1.

    Donc pour bien faire il faudrait tester dans ton code si le item contient bien un caractère ':'.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gers (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 35
    Points
    35
    Par défaut
    Désolé mais je ne maîtrise pas bien Java, c'est ce que j'ai récupéré pour un jeu.

    En fait, dès que je crée un personnage, je tombe sur cette erreur et je suis aussitôt déconnecté, et dès que je me reconnecte je peux jouer normalement.

    Peut-être une vision des choses par TeamViewer serait plus facile pour vous ?

    EDIT : voici les lignes 1330 à 1342
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    else
                  {
                    String item = CyonEmu.START_ITEMS;
                    int qtd = Integer.valueOf(item.split(":")[1]).intValue();
                    int itemid = Integer.valueOf(item.split(":")[0]).intValue();
                    Objet.ObjTemplate obj = World.getObjTemplate(itemid);
                    if (obj != null)
                    {
                      Objet object = obj.createNewItem(qtd, false);
                      if (addObjet(object, true))
                        World.addObjet(object, true);
                    }
                  }

  7. #7
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Ok, non teamviewer non merci un vnc a la limite ...

    Sinon, bah tu dois rentrer un nom ou quelques choses avant de lancer le jeu non ?

    lvvvt
    zxcyl

    je vois dans ton screenshot.

    Tu devrais pas rentrer un truc genre ?

    324:46

    car le code que je vois lui attends de lire une chaine de caractère avec un caractère : qui sépare 2 valeurs entières.

    mais faudrait voir le start.bat, et c'est quoi le jeu en question ?
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gers (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 35
    Points
    35
    Par défaut
    ceci :
    lvvvt
    zxcyl

    correspond au nom des personnages que j'ai créé, désolé du nom mais c'est le générateur de nom c'est pour faire des tests. Le nom du personnage apparaît sur le start une fois qu'il est connecté au jeu. Direct après je suis déconnecté, et le message apparaît sur le start erreur ligne 1333 de personnage.java

    Le jeu c'est Dofus, c'est un émulateur.

    Non non je ne dois pas rentrer de chiffre, et rien a première vu avec des ":"

    EDIT : pour être le plus précis possible, je vais bien re expliquer :
    Je me connecte, je créé un nouveau personnage, je mets son nom, je fais "jouer", là je suis déconnecté et message d'erreur sur le start, je me reconnecte, j'ai le personne, je fais jouer, et je peux joueur.

    Donc le problème ne survient qu'à la création du personnage, et non après à connexion.

  9. #9
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String item = CyonEmu.START_ITEMS;
    int qtd = Integer.valueOf(item.split(":")[1]).intValue();
    int itemid = Integer.valueOf(item.split(":")[0]).intValue();
    Comme je le disais avant, ce bout de code "exige" que item (qui est en fait la valeur de CyonEmu.START_ITEMS (aucune idée de ce que c'est)) soit une chaine de caractères avec le caractère ':' (le split veux decouper la chaine pour avoir 2 bout qui seront transformé en chiffre).

    S'il n'y as pas cela, alors le code va planter obligatoirement. Après pour t'aider je ne vois pas quoi faire entre nous vu que je n'ai ni cette émulateur, ni les sources, ni rien

    Mais peut être le code que tu utilises est simplement buggé et donc il faut s'adresser a l'auteur du dit code.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Clairement le programme essaie de lire quelque chose qu'il tire de la variable CyonEmu.START_ITEMS, et ce quelque chose devrait être deux nombres séparés par :
    Or, ce qui s'y trouve ne contient aucun :

    Voilà. Où quand comment on sait pas. Il est possible que l'emploi de cet émulateur nécessite de bien le connaître...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gers (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 35
    Points
    35
    Par défaut
    Dans la configuration du start, j'ai bien une ligne "START_ITEMS" qui correspond en fait aux objets que l'on a au départ du jeu. Mais seulement je ne souhaite pas avoir d'objets au début, donc cette ligne est vide, je vais essayer de mettre deux objets séparé par un :

    Mais sinon, je peux fournir les sources pas de souci.

  12. #12
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Oui tu peux toujours essayer en mettant 2 chiffres séparé par :

    Sinon, oui il vaudrait mieux poser la question au membres de la communauté comme je disait.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gers (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2012
    Messages : 48
    Points : 35
    Points
    35
    Par défaut
    En fait, j'ai mis deux objets séparés par un : et ça marche bien merci

    Cependant, si j’enlève des sources le ":" sera-t-il toujours fonctionnel ?

    J'ai déjà posé la question, mais ils ne savent pas, mais ce forum m'a déjà permis de résoudre plusieurs problèmes. Vous êtes tous très sympa merci beaucoup !

  14. #14
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par xixou Voir le message
    Cependant, si j’enlève des sources le ":" sera-t-il toujours fonctionnel ?
    Au hasard, non ? Puisqu'il faut qu'il soit là ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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