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

Autres Java Discussion :

[javascool] Attribuer à chaque lettre une autre lettre ou valeur


Sujet :

Autres Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 10
    Points
    10
    Par défaut [javascool] Attribuer à chaque lettre une autre lettre ou valeur
    Bonjour,
    Voila je voudrais remplacer chaque lettre entré dans un String par une lettre ou valeurs
    Comment faire ??

    Exemple:
    String texte = "abc";
    String textebrouiller = "012"
    pour a = 0 , b = 1 , c = 2

    Ou alors
    String texte = "abc";
    String textebrouiller = "阿贝色"
    pour a = 阿 , b = 贝 , c = 色

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    void main(){
    	String texte = readString();
    	String texte1 = ?? ;
    	println("Le texte brouiller est :" + texte1);
    }
    J'utilise Java's Cool, mais tout code ou aide même en Java serait super, je me débrouillerai pour le retranscrire en Java's Cool après.

    Merci a tous, j'espere mettre bien fait comprendre.

  2. #2
    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
    Pour parcourir ton String, tu le convertis en tableau de caractère via la méthode toCharArray(). Comme ça tu pourras faire une boucle sur la taille du tableau qui va parcourir lettre par lettre.

    Ensuite, pour plus de lisibilité, il te faudrait faire créer une autre méthode à côté qui prendrait en paramètre un caractère et donnerait en sortie le caractère associé. Comme ça tu n'as plus qu'à appeler cette méthode dans ta boucle de parcours de départ. Cette méthode peut être une succession de if ou plus évolué, un switch case qui teste chacun de tes cas.
    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/

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Robin56 Voir le message
    Pour parcourir ton String, tu le convertis en tableau de caractère via la méthode toCharArray(). Comme ça tu pourras faire une boucle sur la taille du tableau qui va parcourir lettre par lettre.

    Ensuite, pour plus de lisibilité, il te faudrait faire créer une autre méthode à côté qui prendrait en paramètre un caractère et donnerait en sortie le caractère associé. Comme ça tu n'as plus qu'à appeler cette méthode dans ta boucle de parcours de départ. Cette méthode peut être une succession de if ou plus évolué, un switch case qui teste chacun de tes cas.
    Merci beaucoup sa devrait le faire avec le toCharArray.
    Pour la creation de methode je vais avoir du mal parcontre.

  4. #4
    Membre averti
    Homme Profil pro
    Java
    Inscrit en
    Mai 2011
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 170
    Points : 444
    Points
    444
    Par défaut
    Citation Envoyé par alleztulle Voir le message
    Merci beaucoup sa devrait le faire avec le toCharArray.
    Pour la creation de methode je vais avoir du mal parcontre.
    Peux-tu décrire pourquoi tu vas avoir du mal ? Pour que l'on puisse t'aider.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par kinaesthesia Voir le message
    Peux-tu décrire pourquoi tu vas avoir du mal ? Pour que l'on puisse t'aider.
    Bon alors deja, je ne suis arriver a rien.
    Je suis pas arriver a attribuer un nombre a une lettre d'un string..

  6. #6
    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 alleztulle Voir le message
    Bon alors deja, je ne suis arriver a rien.
    Je suis pas arriver a attribuer un nombre a une lettre d'un string..
    Ça n'explique pas ce que tu as essayé de faire..

    Rien que ça permet de faire ce que tu souhaites :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    char caractere = 'A';
    if (caractere == 'A') {
      caractere = 'Z';
    } else if (caractere == 'B') {
      caractere = 'Y';
    }
    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/

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Robin56 Voir le message
    Ça n'explique pas ce que tu as essayé de faire..

    Rien que ça permet de faire ce que tu souhaites :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    char caractere = 'A';
    if (caractere == 'A') {
      caractere = 'Z';
    } else if (caractere == 'B') {
      caractere = 'Y';
    }
    Et bien merci je testerai sa.
    j'ai esseyer de faire un tableau..

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Effectivement sa marche
    Mais comment mettre un string ??
    car dans le char je peut mettre qu'une lettre ...

  9. #9
    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 alleztulle Voir le message
    Effectivement sa marche
    Mais comment mettre un string ??
    car dans le char je peut mettre qu'une lettre ...
    Pourquoi utiliser le String puisque toCharArray te renvoie un tableau de char ?
    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/

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Robin56 Voir le message
    Pourquoi utiliser le String puisque toCharArray te renvoie un tableau de char ?
    Et bien il faut que je demande une phrase pour après changer ses caracteres.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String phrase = readString();
    Comment avec toCharArray je vais pouvoir faire ceci ?

  11. #11
    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 alleztulle Voir le message
    Et bien il faut que je demande une phrase pour après changer ses caracteres.
    Tu devrais aussi essayer de comprendre ce que tu fais car si tu me demandes ça c'est que tu n'as vraiment pas saisis ce que je t'indiquais.

    La procédure :
    1. Tu récupère ton texte comme tu fais d'habitude dans un String
    2. Tu le découpes en tableau de caractères via toCharArray()
    3. Pour chaque caractère, tu vérifies par quelle lettre il doit être remplacé
    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/

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Robin56 Voir le message
    Tu devrais aussi essayer de comprendre ce que tu fais car si tu me demandes ça c'est que tu n'as vraiment pas saisis ce que je t'indiquais.

    La procédure :
    1. Tu récupère ton texte comme tu fais d'habitude dans un String
    2. Tu le découpes en tableau de caractères via toCharArray()
    3. Pour chaque caractère, tu vérifies par quelle lettre il doit être remplacé
    Ah ok
    Désolé

    J'ai tenter ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void main(){
    String caractere = ("a");
    char[] arr = caractere.toCharArray();
    if (arr == 'a') {
      arr = 'b';
    } else if (arr == 'b') {
      arr = 'c';
    }
    println("Texte brouiller: " + arr);
    }
    Mais j'ai l'errer suivante:
    Erreur de syntaxe ligne 4 :
    incomparable types: char[] and char
    if (arr == 'a') {
    ^
    Avec Java's Cool.
    Pourquoi cette erreur ?

  13. #13
    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 alleztulle Voir le message
    Erreur de syntaxe ligne 4 :
    incomparable types: char[] and char
    if (arr == 'a') {
    ^
    Tu compares un tableau tout entier de caractères avec un caractère, ça ne peut pas marcher donc il te dit "je ne peux tester l'égalité entre un tableau de char et un char tout seul". Donc il faut que tu fasses tout ça dans une boucle qui parcoure ton tableau.
    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/

  14. #14
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    Si le nombre de conversion possible est important j'utiliserais une Map plutôt qu'un enchainement de IF.

    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
     
    Map<Character ,Character > conversion = new HashMap<Character ,Character>();
    // Enregistrer les conversions possibles
    conversion.put('A','F');
    conversion.put('B','X');
    conversion.put('C','7');
    ...
     
    Character getCharConverti(Character c) {
            if(conversion.containsKey(c)) {
    	         return conversion.get(c);
            } else {
    	         // Gérer ce cas particulier, ici on retourne le char non converti
    	         return c;
            }
    }

  15. #15
    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 Mathieu.J Voir le message
    Si le nombre de conversion possible est important j'utiliserais une Map plutôt qu'un enchainement de IF.
    Oui bien sur sauf que face à un débutant total en Java, il faut mieux commencer par une suite de IF tout bête. Et au fur à mesure améliorer la façon de faire.
    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/

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Robin56 Voir le message
    Tu compares un tableau tout entier de caractères avec un caractère, ça ne peut pas marcher donc il te dit "je ne peux tester l'égalité entre un tableau de char et un char tout seul". Donc il faut que tu fasses tout ça dans une boucle qui parcoure ton tableau.
    Je comprend l'erreur.
    Mais j'ai testé plusieur choses , et rien ni fait , je ne trouve pas la solution...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void main(){
    String caractere = ("a");
    char[] arr = caractere.toCharArray();
    for(caractere = ("a"); arr = 'b';)
    {
    println("Texte brouiller: " + arr);
    }
    }
    j'ai tester ceci...

    et egalement ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void main(){
    String caractere = ("a");
    char[] arr = caractere.toCharArray();
    if(caractere = ("a")) {
    *** arr = 'b';
    }*else*{
    *** arr = 'c';
    }
    println("Texte brouiller: " + arr);
    }

  17. #17
    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 alleztulle Voir le message
    Je comprend l'erreur.
    Mais j'ai testé plusieur choses , et rien ni fait , je ne trouve pas la solution...
    Je ne comprends pas ce que tu fais. Ton code n'a pas de sens. Il te manque deux choses fondamentales :
    1. Lire de la documentation car tu ne l'as pas assez lu (tu trouveras des cours ici même)
    2. Avoir de la logique

    Tu trouveras en lisant la documentation comment créer une boucle et comment parcourir un tableau à l'aide de celle-ci.
    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/

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Je n'arrive a rien... besoin d'aide svp..

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/05/2013, 20h59
  2. Remplacer lettres contenues dans une variable par d'autres lettres
    Par AZzjeioafh dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 02/12/2009, 18h53
  3. Réponses: 11
    Dernier message: 06/04/2009, 01h46
  4. Remplacer une lettre par une autre
    Par Chyokyka dans le forum Débuter
    Réponses: 2
    Dernier message: 01/04/2008, 08h27
  5. SQL Remplacement d'une lettre par une autre
    Par nathieb dans le forum SQL
    Réponses: 2
    Dernier message: 19/09/2007, 11h01

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