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

Collection et Stream Java Discussion :

tableau de couple d'entiers


Sujet :

Collection et Stream Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Points : 7
    Points
    7
    Par défaut tableau de couple d'entiers
    Hello,
    je voudrais faire un tableau de 9 couples d'entiers.( Exemple tab[0]={5,3},tab[1]={7,7}...)Comment déclarer cela et surtout y placer des valeurs après initialisation. J'ai essayé int[] tab[]={{0,0},...{0,0}}, mais après, pas moyen de mettre un truc du genre tab[4]={2,3}, le compilateur refuse en disant "Array constants can only be used in initializer".
    Merci

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut Re: tableau de couple d'entiers
    Salut,

    Citation Envoyé par doublelune
    J'ai essayé int[] tab[]={{0,0},...{0,0}}
    En général les crochet doivent suivre le type du tableau, cela permet d'éviter de confondre...
    dans ton cas il s'agit d'un tableau de tableau d'int, donc :
    [code]mais après, pas moyen de mettre un truc du genre tab[4]={2,3}, le compilateur refuse en disant "Array constants can only be used in initializer".[/quote]
    En effet cette forme raccourci d'initialisation des tableau ne peux être utilisé que lors de l'initialisation d'un variable ou derrière un new...

    Dans ton cas cela pourrais donner :
    int[][] tab = new int[9][];
    tab[0] = new int[]{4,7};
    ...
    Toutefois il serait peut-être plus judicieux de créer une classe représentant tes couples d'entiers...

    a++

  3. #3
    Membre expérimenté Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Points : 1 608
    Points
    1 608
    Par défaut
    Tu peux faire un tableau à deux dimensions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int[][] tab = new tab[][] {
      {5, 3},
      {7, 7},
      ...
    };
    Après, pour changer tab[4], tu dois faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tab[4] = new int[] {2, 3};

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Outre les tableaux a 2 dimension, tu peux aussi te creer ta propre classe de stockage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class IntPair {
      public int first;
      public int second
    }
     
    IntPair[] tab = ...
    Note : il existe deja des classe + ou moins equivalentes a des paires (Point et Dimension pour ne citer qu'elles) qui peuvent etre directement reutilisee telles qu'elles.

    On peut egalement voir avec des generics :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class Pair<K, V> {
      public K first;
      public V second;
    }
     
    Pair<Integer, Integer>[] tab = ...
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2005
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    je vous remercie pour les explications

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

Discussions similaires

  1. [tableau Java] + débutant + fréquence entier
    Par Joliefleur4ever dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 07/12/2007, 18h47
  2. tableau asp et constante entiere
    Par franfr57 dans le forum ASP
    Réponses: 2
    Dernier message: 09/05/2007, 11h49
  3. Réponses: 6
    Dernier message: 03/11/2006, 11h55
  4. Conversion d'un tableau d'octets en entier
    Par noutnout53 dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 25/09/2006, 11h54
  5. d'un tableau de caracteres à un entier....
    Par felicity dans le forum C
    Réponses: 5
    Dernier message: 03/01/2006, 16h32

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