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 :

chaines de caractère en java


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 12
    Par défaut chaines de caractère en java
    Bonjour,

    Je suis débutant en java et j'ai une petite question à vous poser.
    Je dois récupérer le nombre de caractères 'a' saisis au clavier. et en convertissant les char en int j'ai pu faire
    la première question.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    char tmpchar = Character.toChars(carcour)[0];
    System.out.println(tmpchar + " <-> " + achar);
        if(carcour == achar){
     	nba ++;
    }
    la 2e question:
    En fait je souhaite maintenant récupérer le nombre de fois de 'le' saisis au clavier.
    exemple: si je saisis "le nul en java", il doit m'afficher -->> 1.

    comment puis-je faire?parce que en utilisant la même chose qu'à la première question je n'y arrive pas.
    Merci à vous de m'éclairer.

    Bonne journée

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Je ne comprends rien, mais alors rien, à ta première réponse. Je ne vois pas le moindre intérêt au fait de se servir de Character.toChars() pour ce sujet.

    Que penses-tu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for(int i = 0; i < input.length(); i++) {
      char carcour= input.charAt(i);
      System.out.println(carcour + " <-> " + achar);
      if(carcour == achar) {
        nba ++;
      }
    }
    Pour la 2e question :

    - Soit on a le droit d'utiliser les méthodes indexOf() de String, et on le fait . (Chercher la première occurence, retenir où elle est, puis chercher une occurence ensuite, jusqu'à ce qu'il n'y en ait plus.)

    - Soit on a pas le droit, et le plus simple est d'avoir une variable qui retient si le dernier caractère lu est un 'l'. Si c'est le cas et que le caractère en cours est un 'e', alors on a trouvé un "le" et il faut incrémenter le compteur.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 12
    Par défaut
    Merci thelvin pour ta réponse. J'ai enfin réussi à répondre à la question.

    Voilà l'exercice comporte 6 questions en tout. j'ai réussi à en faire 4. En fait la 5e question et la 6e je ne comprends pas ce que le prof demande.

    Pouvez-vous voir avec moi SVP, voici l'exercice. MERCI à VOUS

    TP Machine Caractères:

    Le flux de caractere issu du clavier nous donne une structure de file sequentielle sur laquelle on se propose de construire des petits algorithmes.

    Apres init la machine caractere est prête à fonctionner , la procedure carsuiv permet de lire le prochain caractere, s'il existe il sera disponible dans la variable carcour et eof sera false, sinon eof sera true.

    Faire :
    1) compter les caracteres
    2) compter les 'A'
    3) compter les 'LE'
    4) compter les mots
    5) imaginer la machine couple
    6) compter les 'LE' avec la machine couple

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 156
    Par défaut
    L'énoncé tous comme la réponse ne sont pas très claire, mais enfin bon. Je pense que ce que le prof veux que tu fasse c'est

    • * Une classe qui permet de lire les caractères sur l'entré standard : la lecture se fait avec read(), si read() renvois quelque chose de négatif alors eof passe à faux, et on ne continu pas à lire. La classe doit avoir une mémoire du caractères suivant
    • Pour compter les caractères, il faut que tu défile sur tous les caractères tant qu'il y en a
    • pour le nombre de 'a', tu vérifie si le caractères est égale à 'a' avec ==
    • pour deux caractères qui se suivent : si il y a le premier vérifier si le second est la, alors compter, sinon remettre à faux l'indicateur qui dit que le premier est la.
    • Même principe pour les mots, mais cette fois ci il faut un index qui indique le caractère dans le tableau, une fois le dernier atteins, c'est ok, sinon il faut revenir en arrière et lire dans le tableau du mot pour vérifier que le début n'y est pas
    • à moins que le décompte des mots soit juste le décompte des caractères non alphabétique présent plus d'une fois.
    • je ne sais pas ce qu'est la machiner couple

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 156
    Par défaut
    La machine couple ne serait t'elle pas une machine qui devient vrais une fois qu'on lui a donné deux caractères qui se suivent. Mais la se serait découper le problème. Enfin c'est pas très claire, même pas du tout.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 156
    Par défaut
    D'autre part tu peut convertir les int en char sans problèmes :

    int x=5;
    char c = (char)x;

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 12
    Par défaut
    Merci Fmunch pout tes réponses.

    Il me semble aussi que la machine couple c'est 2 caractères qui se suivent.
    Ensuite à la 6ieme question je calculerai les 'LE' avec cette machine couple.

    Merci et bonne après-midi.

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 156
    Par défaut
    Je pense ce qui intéresse plus l'enseignant dans ce cas si c'est comment tu réalise ton découpage en classes de ton problèmes.

    En gros tu doit faire une classe CharsGenerator, de laquelle tu pourras extraire des caractères et éventuellement vérifier si tu arrive à la fin. Les autre classes que tu vas devoir faire vont devoir être capable d'utiliser cette classe.

    Tu peut faire cela de la façon suivante

    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
     
    public interface CharsGenerator
    {
    public int getChar();
    }
     
    public interface CharsGeneratorUser
    {
    public void use(CharsGenerator);
    }
     
    class Compteur implements CharsGeneratorUser
    {
     
    }
    Il faudra les placer dans des fichiers ayant le même noms que les interfaces ou que les classes.

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/09/2009, 12h37
  2. Réponses: 8
    Dernier message: 23/04/2009, 17h57
  3. Réponses: 1
    Dernier message: 01/02/2008, 17h03
  4. Filtre des chaines de caractères en Java
    Par fatenatwork dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 28/01/2008, 11h11
  5. Comparaison deux chaine de caractère arabe en java
    Par vetchang dans le forum Général Java
    Réponses: 9
    Dernier message: 08/10/2007, 23h53

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