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

Langage Java Discussion :

matrice de char et int


Sujet :

Langage Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 181
    Par défaut matrice de char et int
    Bonjour,
    Je souhaite créer une matrice contenant des entiers et des caractères. Cependant dans les différents exemples que j'ai vu les tableaux ou matrices présentés possédent un type unique.
    Existe t il une solution à mon problème?
    J'ai essayé de regarder avec array mais il faut un type défini je crois également.

    Merci

  2. #2
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    L'instruction suivante fonctionne mais je pense qu'elle implique le stockage des caractères sous la forme d'entiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int[][] matrix = {{1, 2, 3},{4, 'a', 6},{'a', 'b', 'c'}};
    [EDIT:]

    je pense qu'elle implique le stockage des caractères sous la forme d'entiers
    C'est en effet le cas, comme le montre le code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class Test {
    	public static void main(String[] args) {
    		int[][] array = {{1, 2, 3},{4, 'a', 6},{'a', 'b', 'c'}}; 
     
    		for(int i=0; i<array.length; i++)
    			for(int j=0; j<array[i].length; j++)
    				System.out.println(array[i][j]);
    	}
    }

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Par défaut
    Bonjour,

    Une autre solution est que tu peux donner un type object a ton tableau, comme ça tu peux stocker ce que tu veux dedans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object[][] matrix = {{1, 2, 3}, {'a', 'b', 'c'}};

  4. #4
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    Citation Envoyé par Billy14
    Bonjour,

    Une autre solution est que tu peux donner un type object a ton tableau, comme ça tu peux stocker ce que tu veux dedans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object[][] matrix = {{1, 2, 3}, {'a', 'b', 'c'}};
    Cette ligne de code est incorrecte étant donné que les éléments du tableau sont des types primitifs (int et char) et non des objets.

    [EDIT:] Par contre, le code ci-dessous fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class Test {
    	public static void main(String[] args) {
    		Object[][] array = {{new Integer(1), new Integer(2), new Integer(3)},{new Character('a'), new Character('b'), new Character('c')}}; 
     
    		for(int i=0; i<array.length; i++)
    			for(int j=0; j<array[i].length; j++)
    				System.out.println(array[i][j]);
    	}
    }

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Par défaut
    Citation Envoyé par aJavaDeveloper
    Cette ligne de code est incorrecte étant donné que les éléments du tableau sont des types primitifs (int et char) et non des objets.
    Cette ligne de code fonctionne à partir de la version 1.5, je l'ai testée chez moi et elle fonctionne très bien

  6. #6
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    Citation Envoyé par Billy14
    Cette ligne de code fonctionne à partir de la version 1.5, je l'ai testée chez moi et elle fonctionne très bien
    Autant pour moi : j'utilise Java 1.4...

  7. #7
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    en effet depuis java 5, java gère l'autoboxing, cad qu'il convertit automatiquement les types de bases en object,donc
    int a = new Integer(3)
    et
    Integer b = 2;
    sont à partir de java 5 des instructons valides

  8. #8
    Membre expérimenté Avatar de aJavaDeveloper
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 248
    Par défaut
    Citation Envoyé par atha2
    en effet depuis java 5, java gère l'autoboxing, cad qu'il convertit automatiquement les types de bases en object,donc
    int a = new Integer(3)
    et
    Integer b = 2;
    sont à partir de java 5 des instructons valides
    Merci beaucoup pour ces informations.
    C'est vrai que Java 1.4 commence à dater mais il m'est imposé par mon travail.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 181
    Par défaut
    problème résolu grâce à vos explications.
    merci encore

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 181
    Par défaut
    par contre petite question dans le cas ou j'ai des lettres sur une ligne et des chiffres sur une autre.

    Comment peut on comparer les chiffres?
    Car le > est inconnu pour object, et le cast ne fonctionne pas.

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2007
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Août 2007
    Messages : 156
    Par défaut
    Etant donné que se sont maintenant des objet, il ne faut pas les caster comme ça :

    mais comme ceci :

    et normalement c'est bon;

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 181
    Par défaut
    en effet je m'etais trompé
    un grand merci a toi

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

Discussions similaires

  1. Convertion char vers int
    Par barthelv dans le forum C
    Réponses: 8
    Dernier message: 08/10/2011, 21h45
  2. [Debutant] conversion de char en int
    Par Marc_3 dans le forum Langage
    Réponses: 9
    Dernier message: 31/08/2011, 12h02
  3. transformer un char en int
    Par transistor49 dans le forum C
    Réponses: 7
    Dernier message: 13/12/2005, 21h47
  4. [Conversion]Convertir un char[] en int
    Par ThanosT dans le forum Général Java
    Réponses: 10
    Dernier message: 11/11/2005, 12h23
  5. "Conversion" d'un char en int ou longueur
    Par Michaël dans le forum C
    Réponses: 6
    Dernier message: 15/08/2003, 11h40

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