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 :

Lettre, chiffres et autres


Sujet :

avec Java

  1. #1
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut Lettre, chiffres et autres
    Bonjour à tous,

    je souhaiterais apporter quelques modifications à mon programme de conversion.
    Pour le moment je prends les caractères d'une String et les converties. Les lettres de l'alphabet basique et l'espace sont traitées.

    Pour ce qui es de tous les autres caractères, chiffres et symboles, la valeur null est retourné.

    J'ai tenté d'associer les types, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (c == Integer) ou c est mon tableau de char
    Mais ça ne fonctionne pas.
    Je m'en doutais un peu. Je ne sais pas trop comment agir avec le tableau de char sans déclarer chaque caractères.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if (c == 'a' || c == 'A')
    {
    	valRetour = valA;
    }
    if (c == 'b' || c == 'B')
    {
    	valRetour = valB;
    }
    Si vous connaissez des moyens de réduire ce code, je suis preneur:
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    En supposant le type de retour "integer" et la conversion connue à l'avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Map<Character, Integer> dictionnaire;
    dictionnaire.put('A',valA);
    dictionnaire.put('B',valB);
    //....
     
     
    return dictionnaire.get(Character.toUpperCase(c));
    en supposant un "calcul" différent à faire su chaque charactère:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    switch(Character.toUpperCase(c)){
        case 'A': return calcul_de_A;
        case 'B': return calcul_de_B;
        //....
        default: return null;
    }

  3. #3
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    Si je suit ta méthode (et surtout si je comprend bien), je vais aussi devoir changer le système déjà en place?

    voici la partie de ma classe concernée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
     
    private String convertCharacter (char c)
    	{
    		// retourne le code auquel correspond un charactère
    		String valRetour = null;
    		if (c == 'a' || c == 'A')
    		{
    			valRetour = valA;
    		}
    		if (c == 'b' || c == 'B')
    		{
    			valRetour = valB;
    		}
    		if (c == 'c' || c == 'C')
    		{
    			valRetour = valC;
    		}
    		if (c == 'd' || c == 'D')
    		{
    			valRetour = valD;
    		}
    		if (c == 'e' || c == 'E')
    		{
    			valRetour = valE;
    		}
    		if (c == 'f' || c == 'F')
    		{
    			valRetour = valF;
    		}
    		if (c == 'g' || c == 'G')
    		{
    			valRetour = valG;
    		}
    		if (c == 'h' || c == 'H')
    		{
    			valRetour = valH;
    		}
    		if (c == 'i' || c == 'I')
    		{
    			valRetour = valI;
    		}
    		if (c == 'j' || c == 'J')
    		{
    			valRetour = valJ;
    		}
    		if (c == 'k' || c == 'K')
    		{
    			valRetour = valK;
    		}
    		if (c == 'l' || c == 'L')
    		{
    			valRetour = valL;
    		}
    		if (c == 'm' || c == 'M')
    		{
    			valRetour = valM;
    		}
    		if (c == 'n' || c == 'N')
    		{
    			valRetour = valN;
    		}
    		if (c == 'o' || c == 'O')
    		{
    			valRetour = valO;
    		}
    		if (c == 'p' || c == 'P')
    		{
    			valRetour = valP;
    		}
    		if (c == 'q' || c == 'Q')
    		{
    			valRetour = valQ;
    		}
    		if (c == 'r' || c == 'R')
    		{
    			valRetour = valR;
    		}
    		if (c == 's' || c == 'S')
    		{
    			valRetour = valS;
    		}
    		if (c == 't' || c == 'T')
    		{
    			valRetour = valT;
    		}
    		if (c == 'u' || c == 'U')
    		{
    			valRetour = valU;
    		}
    		if (c == 'v' || c == 'V')
    		{
    			valRetour = valV;
    		}
    		if (c == 'w' || c == 'W')
    		{
    			valRetour = valW;
    		}
    		if (c == 'x' || c == 'X')
    		{
    			valRetour = valX;
    		}
    		if (c == 'y' || c == 'Y')
    		{
    			valRetour = valY;
    		}
    		if (c == 'z' || c == 'Z')
    		{
    			valRetour = valZ;
    		}
    		if (c == ' ')
    		{
    			valRetour = valEspace;
    		}
    		return valRetour;
    	}
     
    	// Méthode pour conversion
    	public String convertString (String s)
    	{
    		s = this.fenetrePrincipale.getUnPanellabel ().getChampDeSaisie ().getText ();
    		StringBuilder sb = new StringBuilder ();
    		for (char c : s.toCharArray ())
    		{
    			sb.append (convertCharacter (c));
    		}
    		this.textFinal = sb.toString ();
    		return this.textFinal;
    	}
    Ce que je souhaite c'est avoir la possibilité de traiter les chiffres et symbole entrée au clavier, soit pour retourner leur valeurs initiale, soit pour retourner une valeur choisi, par exemple:

    Si on veut que les valeurs des chiffres et symboles soit retourner égale à leurs entrées.
    En entrée, Tora21@, en sortie (si T,O,R, et A sont égale à 'x') xxxx21@.

    Si on veut que les valeurs soit retourner selon nos choix.
    2 = z
    1 = y
    @ = x
    Tora21@ --> xxxxzyx.

    Aussi je souhaiterais avoir l'option de dire que si une chiffre ou symbole est en entrée, je lance un message d'erreur, mais c'est toujours le même problème je ne sait pas comment faire avec le tableau de char.
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 398
    Points : 710
    Points
    710
    Par défaut
    Citation Envoyé par Tora21 Voir le message
    Si je suit ta méthode (et surtout si je comprend bien), je vais aussi devoir changer le système déjà en place?

    voici la partie de ma classe concernée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
     
    private String convertCharacter (char c)
    	{
    		// retourne le code auquel correspond un charactère
    		String valRetour = null;
    		if (c == 'a' || c == 'A')
    		{
    			valRetour = valA;
    		}
    		if (c == 'b' || c == 'B')
    		{
    			valRetour = valB;
    		}
    		if (c == 'c' || c == 'C')
    		{
    			valRetour = valC;
    		}
    		if (c == 'd' || c == 'D')
    		{
    			valRetour = valD;
    		}
    		if (c == 'e' || c == 'E')
    		{
    			valRetour = valE;
    		}
    		if (c == 'f' || c == 'F')
    		{
    			valRetour = valF;
    		}
    		if (c == 'g' || c == 'G')
    		{
    			valRetour = valG;
    		}
    		if (c == 'h' || c == 'H')
    		{
    			valRetour = valH;
    		}
    		if (c == 'i' || c == 'I')
    		{
    			valRetour = valI;
    		}
    		if (c == 'j' || c == 'J')
    		{
    			valRetour = valJ;
    		}
    		if (c == 'k' || c == 'K')
    		{
    			valRetour = valK;
    		}
    		if (c == 'l' || c == 'L')
    		{
    			valRetour = valL;
    		}
    		if (c == 'm' || c == 'M')
    		{
    			valRetour = valM;
    		}
    		if (c == 'n' || c == 'N')
    		{
    			valRetour = valN;
    		}
    		if (c == 'o' || c == 'O')
    		{
    			valRetour = valO;
    		}
    		if (c == 'p' || c == 'P')
    		{
    			valRetour = valP;
    		}
    		if (c == 'q' || c == 'Q')
    		{
    			valRetour = valQ;
    		}
    		if (c == 'r' || c == 'R')
    		{
    			valRetour = valR;
    		}
    		if (c == 's' || c == 'S')
    		{
    			valRetour = valS;
    		}
    		if (c == 't' || c == 'T')
    		{
    			valRetour = valT;
    		}
    		if (c == 'u' || c == 'U')
    		{
    			valRetour = valU;
    		}
    		if (c == 'v' || c == 'V')
    		{
    			valRetour = valV;
    		}
    		if (c == 'w' || c == 'W')
    		{
    			valRetour = valW;
    		}
    		if (c == 'x' || c == 'X')
    		{
    			valRetour = valX;
    		}
    		if (c == 'y' || c == 'Y')
    		{
    			valRetour = valY;
    		}
    		if (c == 'z' || c == 'Z')
    		{
    			valRetour = valZ;
    		}
    		if (c == ' ')
    		{
    			valRetour = valEspace;
    		}
    		return valRetour;
    	}
     
    	// Méthode pour conversion
    	public String convertString (String s)
    	{
    		s = this.fenetrePrincipale.getUnPanellabel ().getChampDeSaisie ().getText ();
    		StringBuilder sb = new StringBuilder ();
    		for (char c : s.toCharArray ())
    		{
    			sb.append (convertCharacter (c));
    		}
    		this.textFinal = sb.toString ();
    		return this.textFinal;
    	}
    Ce que je souhaite c'est avoir la possibilité de traiter les chiffres et symbole entrée au clavier, soit pour retourner leur valeurs initiale, soit pour retourner une valeur choisi, par exemple:

    Si on veut que les valeurs des chiffres et symboles soit retourner égale à leurs entrées.
    En entrée, Tora21@, en sortie (si T,O,R, et A sont égale à 'x') xxxx21@.

    Si on veut que les valeurs soit retourner selon nos choix.
    2 = z
    1 = y
    @ = x
    Tora21@ --> xxxxzyx.

    Aussi je souhaiterais avoir l'option de dire que si une chiffre ou symbole est en entrée, je lance un message d'erreur, mais c'est toujours le même problème je ne sait pas comment faire avec le tableau de char.
    si c'est juste un conversion lettre pour lettre, utilises la Map
    t'as pas grand chose à changer ...

  5. #5
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    le map, je n'y connais rien du tous c'est bien la première fois que je vais m'en servir, ben écoute je vais jeter un œil.
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

  6. #6
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    De ce que j'ai compris le map me permet d'entrer 2 éléments qui sont liés, dont un est une clé et l'autre une valeur. Mais je ne comprend pas trop cette classe, et je ne l'ai jamais utilisé. En quoi cela m’avantagerais-t-il d'utiliser le map?

    si c'est juste un conversion lettre pour lettre
    Ben en fait je voudrais pouvoir traiter les chiffres et symboles aussi.
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

  7. #7
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par Tora21 Voir le message
    De ce que j'ai compris le map me permet d'entrer 2 éléments qui sont liés, dont un est une clé et l'autre une valeur. Mais je ne comprend pas trop cette classe, et je ne l'ai jamais utilisé. En quoi cela m’avantagerais-t-il d'utiliser le map?

    Ben en fait je voudrais pouvoir traiter les chiffres et symboles aussi.
    Bah à chaque caractère que tu gères, tu lui associes une valeur.

    Donc en clé, tu mets ton caractère initial (qu'il soit symbole, lettre ou chiffre) et en valeur, tu lui mets le résultat de la conversion. Comme ça après tu parcoures ta map pour voir quel valeur est associée au caractère que tu as inscris qui est la clé.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  8. #8
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    ouaip, pas très motivé pour mettre ça dans mon code. Ce que je vais faire c'est chercher des exemples et des entrainements. Et une fois bien le truc en tête j’essaierais de modifier le code.
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

  9. #9
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Ça rendrait quand même ton code bien plus lisible. Tchize_ t'as d'ailleurs donné tout le code nécessaire !

  10. #10
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    Ah oui effectivement ça n'a pas fait tilte lors de mon premier regard, mais oui il m'a filé le code. Je vais regardé tous ça.
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

  11. #11
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    En supposant le type de retour "integer" et la conversion connue à l'avance

    Map<Character, Integer> dictionnaire;
    dictionnaire.put('A',valA);
    dictionnaire.put('B',valB);
    //....


    return dictionnaire.get(Character.toUpperCase(c));
    En valeur d'entrée j'ai des char et en sortie j'aurais des Int, et des String.
    Je ne peut pas les associer.
    "The method put(Character, Integer) in the type Map<Character,Integer> is not applicable for the arguments (char, String)"

    Mais ça tu me l'as dit
    En supposant le type de retour "integer"
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

  12. #12
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    c'est quoi la signature de ta méthode? Parce qu'un méthode qui retourne des int ou des tring, ca n'existe pas en java. Tu peux par contre avoir une méthode qui retourne des Object, mais dans ce cas là il te suffit de faire un Map<Character,Object>.

    Bref la map doit correspondre à la signature de valRetour dans ton message

  13. #13
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    Pour traiter le problème temporairement j'ai mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (c == '1' || c == '2' || c == '3' || c == '4' || c == '5' || c == '6' || c == '7' || c == '8' || c == '9')
    		{
    			JOptionPane.showMessageDialog (null, "Pas de chiffres", "Erreur de saisie", JOptionPane.OK_OPTION);
    		}
    Mais si vous rentre 12345, il me feras apparaître 1 boîte par chiffre, donc 5 ici, et je me vois mal lui faire un if avec tous les symbole du type: &é"'(-è.
    Sinon je suis pas rendu, en rapport avec ma solution temporaire, auriez-vous une idée pour alléger mon code? Et de ne pas faire apparaître une boite par char?

    édit: J'avais pas vu ton post tchize_, et j'avais pas pensé aux objet je vais tester ça en parallèle.
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

  14. #14
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ben faite votre validation des entrée avant de tenter la conversion si certains caractères sont interdits :/

  15. #15
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Citation Envoyé par Tora21 Voir le message
    En valeur d'entrée j'ai des char et en sortie j'aurais des Int, et des String.
    Je ne peut pas les associer.
    "The method put(Character, Integer) in the type Map<Character,Integer> is not applicable for the arguments (char, String)"

    Mais ça tu me l'as dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Map<Character, String> dictionnaire;
    dictionnaire.put('A',valA);
    dictionnaire.put('B',valB);

  16. #16
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 116
    Points : 93
    Points
    93
    Par défaut
    Pour alléger, tu pourais peut être utiliser la méthode GetType(). (Son nom est assez explicite). Par contre je n'ais pas de quoi tester ici et je ne sais plus s'il suffit de faire :

    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Objet.getType().getName()
    Et pour ton problème de string, tu peux utiliser des Objet ou surcharger ta méthode.

    En éspérant t'avoir aidé.

  17. #17
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    Rei Ichido:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Map<Character, String> dictionnaire;
    dictionnaire.put('A',valA);
    dictionnaire.put('B',valB);

    Ne fonctionne pas avec cette association.
    Tora21
    Citation:
    En supposant le type de retour "integer" et la conversion connue à l'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Map<Character, Integer> dictionnaire;
    dictionnaire.put('A',valA);
    dictionnaire.put('B',valB);
    //....

    return dictionnaire.get(Character.toUpperCase(c));
    En valeur d'entrée j'ai des char et en sortie j'aurais des Int, et des String.
    Je ne peut pas les associer.
    "The method put(Character, Integer) in the type Map<Character,Integer> is not applicable for the arguments (char, String)"

    Mais ça tu me l'as dit
    Citation:
    En supposant le type de retour "integer"
    Tchize_:
    ben faite votre validation des entrée avant de tenter la conversion si certains caractères sont interdits :/
    Qu'est-ce qui serais le mieux, bloquer les entrée clavier de type symbole et chiffre? ou bien, contrôler la String d'entrée pour voir si elle contient des chiffres ou symbole?

    Pour la première solution, je plane....

    Pour la deuxièmes solution je crois savoir qu'il y a une méthode dans String qui permet de trouver les chiffres, mais pour les symboles...?

    pikameuh:
    --> Je vais tester pour contrôler en entrée, voir si ça fonctionne.

    édit: Pas de méthode dans String qui m'aide.
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

  18. #18
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par Tora21 Voir le message
    Pour la deuxièmes solution je crois savoir qu'il y a une méthode dans String qui permet de trouver les chiffres, mais pour les symboles...?
    Pour vérifier que la chaine ne contient que des lettres, par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    machaine.matches("[a-zA-Z]*");

  19. #19
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Citation Envoyé par Tora21 Voir le message
    Rei Ichido:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Map<Character, String> dictionnaire;
    dictionnaire.put('A',valA);
    dictionnaire.put('B',valB);
    Ne fonctionne pas avec cette association.
    Tu as remarqué que j'ai changé Map<Character,Integer> en Map<Character,String> ? Je ne vois pas ce qui pourrait ne pas fonctionner.

  20. #20
    Membre régulier Avatar de Tora21
    Homme Profil pro
    Développeur("Java"); //Débutant
    Inscrit en
    Mai 2011
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur("Java"); //Débutant

    Informations forums :
    Inscription : Mai 2011
    Messages : 140
    Points : 116
    Points
    116
    Par défaut
    tchize_:
    --> Merci, cela peut marcher pour les chiffres aussi (au cas ou j'en aurais besoin
    maChaine.matches("[1-9]*") ?? Et pour les symboles tu pense cela serai-t-il possible? Ou un truc du même genre? Comment s'appelle ce type de code?

    Rei Ichido:
    --> Effectivement j'aurais du remarquer, mais je devais être bourré.
    Ah ça y’est, j’viens de comprendre à quoi ça sert la canne. En fait ça sert à rien… Du coup ça nous renvoie à notre propre utilité : l’Homme face à l’Absurde !

    -Perceval-

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. incrémentation lettre chiffre
    Par FIFI33160 dans le forum Excel
    Réponses: 5
    Dernier message: 28/03/2008, 16h01
  2. SQL Remplacement d'une lettre par une autre
    Par nathieb dans le forum SQL
    Réponses: 2
    Dernier message: 19/09/2007, 11h01
  3. [RegEx] filtrer les lettres/chiffres
    Par PamelaGeek dans le forum Langage
    Réponses: 4
    Dernier message: 04/04/2007, 09h02
  4. Message codé lettre=chiffre ?
    Par isa150183 dans le forum Langage
    Réponses: 5
    Dernier message: 24/07/2006, 22h58
  5. Rech Fonction tri : String contenant lettre+chiffres[VB6]
    Par t'djinn dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 10/07/2006, 19h08

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