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 Discussion :

Boucle et tableau


Sujet :

Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 83
    Points : 61
    Points
    61
    Par défaut Boucle et tableau
    Bonjour!
    J'ai un soucis avec mon code, le voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            points = new Point[5];
            points[0] = new Point(1, 1);
            points[1] = new Point(imageFond.getWidth()-1,1);
            points[2] = new Point(1,imageFond.getHeight()-1);
            points[3] = new Point(imageFond.getWidth(), imageFond.getHeight());
            points[4] = new Point(imageFond.getWidth()/2, imageFond.getHeight()/2);
     
            //Get Colors
            couleurs = new Color[5];
            for(int i=0;i<5;i++)
            {
                //couleurs[i] = new Color(imageFond.getRGB(points[i].x, points[i].y));
                System.out.println("Boucle"+i+" -  PIXEL:"+points[i].x+" "+points[i].y+"   COLORS:"+imageFond.getRGB(points[i].x, points[i].y));
            }
    Lorsque je l’exécute, j’obtiens une erreur: Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!.

    Pourtant je ne dépasse pas le maximum du tableau :/

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    As tu plus de précision sur l'erreur?

    Si tu essaye ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    System.out.println("Boucle"+i+" -  PIXEL:"+points[i].x);
    System.out.println(" "+points[i].y);
    System.out.println("   COLORS:"+imageFond.getRGB(points[i].x, points[i].y));
    Sur quelle ligne l'erreur s'affiche?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 83
    Points : 61
    Points
    61
    Par défaut
    Je viens de trouver, l'erreur est que le getRGB pointait sur un pixel inexistant (exemple, notre image fait 300X300. Si on demande de connaître la couleur du pixel 300x 300y on est en dehors de l'image.)
    J'ai donc ajouté juste un -1 au image.getWidth() et image.getHeight() est la boucle tourne sans soucis.

    Merci de ton aide !

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

Discussions similaires

  1. [MySQL] Boucle de tableau 3 dimensions
    Par Nowwis dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/09/2009, 19h04
  2. Boucle sur tableau
    Par brunsson dans le forum ActionScript 3
    Réponses: 5
    Dernier message: 20/01/2009, 00h58
  3. [Conception] Boucle et tableau
    Par frutix dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/03/2007, 17h22
  4. Probleme boucle et tableau
    Par orj30754 dans le forum C
    Réponses: 6
    Dernier message: 27/12/2006, 19h24
  5. Alimentation d'une table : boucle ou tableau?
    Par ALLB dans le forum Oracle
    Réponses: 5
    Dernier message: 09/05/2006, 20h29

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