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

Java Discussion :

exercice java


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 10
    Par défaut exercice java
    Bonjour à tous.
    J ai un exercice que je n arrive pas à résoudre.
    Cela fait 3 mois que je suis dessus mais en vain.

    Voilà l énoncé

    Ce que doit faire votre programme :

    Les notes de musiques sont représentées par les lettres 'a', 'b', 'c', 'd', 'e', 'f' et 'g'.

    Votre programme doit lire une seule ligne de texte représentant le morceau de musique (composé de moins de 500 notes) et doit afficher la version du morceau "corrigée" où tous les doublons sont supprimés tant qu'il en existe.
    Exemple

    entrée :

    baaabbacddc

    sortie :

    b

    Commentaires

    Sur l'exemple donné une suite possible d'élimination des doublons est la suivante :

    baaabbacddc
    baaabbacc
    babbacc
    babba
    baa
    b

    Voilà mon programme

    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
     public static void main (String [] args)
       {
          Scanner entrée = new Scanner(System.in);
          String serie = entrée.nextLine();
          int longueur = serie.length();
          char []alpha = new char [longueur];
          for ( int loop =0; loop<longueur; loop++)
          {
             alpha[loop] = serie.charAt(loop);
          }  
     
          for ( int loop =0; loop<longueur; loop++)
          {
             for ( int loop2 =1; loop2<longueur; loop2++)
             {
                if (alpha [loop] == alpha[loop2])
                {
                   alpha [loop2] = ' ';
                }
             }
          }
          for ( int loop =0; loop<longueur; loop++)
          {
     
                  System.out.print(alpha[loop]);
          }
       }
    }
    Merci beaucoup

  2. #2
    Rédacteur

    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2006
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 503
    Par défaut
    Salut syllatre,

    Désolé, je ne comprends rien!
    L'énoncé est sans doute mal décrite!
    Je ne vois pas l’intérêt dans ton exemple de te retrouver avec une seule note en faisant des itérations continuelles!
    A quoi cela peut-il servir?
    Jean-Sebastien Bach était une fois retourné sur le piano d'une personne qui avait oublié la note de fin (pour terminer correctement la tonalité) ... pour la jouer.
    Mais un morceau à une seule note !?!? A mon avis JSB serait aussi retourné sur le piano pour entrer une autre note dans la tonalité de la première et ensuite la première note!

    Mon interprétation:
    - tu ne fais qu'un seul passage (et pourquoi commencer vers la fin (ton exemple))
    - si la note suivante est la même, tu l'ignores

    Donc aabcccdeeee deviendra abcde.

    Une autre interprétation d'ôter les doublons:
    aabcccdeeee deviendrait abccdee.

    Donc ton "où tous les doublons sont supprimés tant qu'il en existe." devrait être expliqué.

    Le formatage pourrait être mieux et avec une petite indentation (tes {}!):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (int loop =0; loop<longueur; loop++) {
      alpha[loop] = serie.charAt(loop);
    }
    Cordialement

Discussions similaires

  1. Petite question sur exercice Java
    Par romain1 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 01/09/2008, 11h37
  2. Exercices Java Objet
    Par ginos dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 30/04/2008, 00h41
  3. Aide exercices Java débutant
    Par dalil777 dans le forum Général Java
    Réponses: 9
    Dernier message: 08/02/2008, 22h19

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