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 :

Comparaison de String


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 18
    Points : 16
    Points
    16
    Par défaut Comparaison de String
    Salut à tous,
    Je débute en java et désire écrire un programme qui prend en paramètres une chaîne et un caractère et qui renvoie la chaîne passée en paramètres avec toutes les occurrences du caractère en majuscule, mais là je bloque car je désire faire une comparaison mais j'ignore quelle fonction propre à java je pourrais utiliser ou du moins un procédé pour pouvoir effectuer cette comparaison.Merci d'avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Une comparaison ? Quel genre de comparaison ? Comparer quoi à quoi ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Points : 1 036
    Points
    1 036
    Par défaut
    Bonjour,

    Tu as dans String la méthode replaceAll,
    par exemple :

    String chaine2 = chaine1.replaceAll("a", "A");

    et dans String tu compares avec la méthode compare.

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Points : 446
    Points
    446
    Par défaut
    Pour mettre en majuscule tu as toUpperCase();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String str ="abcdefghijklmopabcdefghijklmopabcdefghijklmop";
    String caractere ="e";
    System.out.println(str.replaceAll(c, c.toUpperCase()));
    
    --> abcdEfghijklmopabcdEfghijklmopabcdEfghijklmop
    Il est agréable d'avoir le choix. La difficulté est alors de faire le bon (ou le moins pire).

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 18
    Points : 16
    Points
    16
    Par défaut
    oui mais c'est l'utilisateur qui entre la chaîne et le caractère, moi je désire comparer le caractère à chacun des caractères de la chaîne passée en paramètre et si on a un caractère identique on le met en majuscule donc là le replaceall ne m'aide pas vraiment

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Points : 1 036
    Points
    1 036
    Par défaut
    Et pourquoi ?

    String chaine2 = chaine1.replaceAll("a", "A");

    chaine1 est la chaine passé en paramètre, a ton caractère.
    Cela ne répond pas au besoin ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 20
    Points : 26
    Points
    26
    Par défaut
    Ce que veut dire joelulrich, c'est que sa méthode prend 2 paramètre, la chaine dont on veut mettre les caractère en majuscule, et le type de caractère qu'on veut mettre en majuscule.

    Ta solution Jimmy ne fonctionne que si l'utilisateur donne le caractère "a" en argument.

    Fifan31 a déjà donné la réponse :

    Citation Envoyé par Fifan31 Voir le message
    Pour mettre en majuscule tu as toUpperCase();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String str ="abcdefghijklmopabcdefghijklmopabcdefghijklmop";
    String caractere ="e";
    System.out.println(str.replaceAll(c, c.toUpperCase()));
    
    --> abcdEfghijklmopabcdEfghijklmopabcdEfghijklmop
    Au sein d'une méthode cela pourrait donner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public static String mettreEnMajuscule(String maChaine, String monCaractere)
    {
    return maChaine.replaceAll(monCaractere, monCaractère.upperCase());
    }
    A noter que cette méthode est plus générale que ce que tu veux faire puisque la chaine monCaractere peux très bien contenir plusieurs lettres, auquel cas c'est "exactement" cette suite de lettre qui sera mise en majuscule.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.out.println( mettreEnMajuscule("abba", "ab"));
    affichera sur la console :

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Points : 1 036
    Points
    1 036
    Par défaut
    Citation Envoyé par Roman_Adamski Voir le message
    Ta solution Jimmy ne fonctionne que si l'utilisateur donne le caractère "a" en argument.


    En meme temps ça se paramètre hein...

  9. #9
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Bon, et sinon, à titre d'information, une String est immutable. On ne peut pas "mettre un caractère en majuscule".

    On peut construire une nouvelle String, qui est la première String et dont certains caractères sont en majuscules.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 47
    Points : 39
    Points
    39
    Par défaut
    Tu peux aussi transformer ta chaine en tableau de caracteres avec toCharArray() et faire une boucle sur la longueur du tableau en comparant à chaque fois avec ton caractere et le transformer en majuscule si les caracteres sont identiques:
    code:

    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
    String chaine="saluttouslemonde"; 
    		char carac='a';
    		char[] tab = chaine.toCharArray();
    		String[] str=new String[tab.length];
    		for(int i=0;i<tab.length;i++){
    		  if(tab[i]==carac){
    			 str[i]=String.valueOf(tab[i]);
    		     str[i]=str[i].toUpperCase();
    		  }
    		else
    			str[i]=String.valueOf(tab[i]);
    		}
    		for(int i=0;i<tab.length;i++){
    		System.out.print(str[i]);
    		}
    	}
    coulane!

  11. #11
    Membre régulier
    Inscrit en
    Juillet 2009
    Messages
    96
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 96
    Points : 85
    Points
    85
    Par défaut
    Pourquoi faire aussi compliqué quand la classe String propose une méthode pour le faire?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "Bonjour tout le monde!!!".toUpperCase();

  12. #12
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Citation Envoyé par Simonake Voir le message
    Pourquoi faire aussi compliqué quand la classe String propose une méthode pour le faire?
    Sa demande ne ressemble pas du tout à "mettre une chaîne entièrement en majuscules."
    (De plus, je préfère préciser Locale.US quand j'appelle toUpperCase(). Sinon, on a des surprises quand le programme tourne sur un ordi turc.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Comparaison de String avec jokers
    Par kitsune dans le forum Langage
    Réponses: 8
    Dernier message: 22/05/2006, 16h21
  2. pb de comparaison de string
    Par Kpone dans le forum Langage
    Réponses: 2
    Dernier message: 04/03/2006, 00h31
  3. [LG] Comparaison de strings
    Par Pack_of_the_Night dans le forum Langage
    Réponses: 2
    Dernier message: 09/02/2006, 21h58
  4. Réponses: 1
    Dernier message: 24/12/2005, 15h18
  5. [C#] Erreur comparaison de string
    Par Damsou dans le forum ASP.NET
    Réponses: 13
    Dernier message: 11/02/2005, 12h14

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