[Précédent]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]

5.11
  Césure - Enoncé
Niveau 2
 
 
But:
  Compléter un petit programme de césure    
Thème:
  String, Modularisation, algorithme    
Fichiers:
  Cesure.java    

La césure est la façon de couper les mots afin de pouvoir les imprimer sur deux ou plusieurs lignes. Un tiret à la fin de la ligne indique si le mot continue sur la ligne suivante. Exemple:

Aussitôt que le message lui parve-
nait, le roi des rois sortait.

Dans cet exercice, il est question de compléter un petit programme de césure appellé Cesure.java. Il y a 4 méthodes auxiliaires à compléter en utilisant notamment des méthodes prédéfinies de la classe String. Le programme à compléter ci-dessous devra lire une phrase sous la forme d'un tableau de chaines de caractères et indiquer les endroits où le(s) mot(s) peu(ven)t être coupé(s).

 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
class Cesure {
    public static void main(String[] args) {
        String[] phrase = lirePhrase();
        for (int i = 0; i < phrase.length; i++) {
            cesure(phrase[i]);
        }
    }

    static String[] lirePhrase() {
        // A compléter:
        // retourne un tableau de chaines de caractères
        // introduits par l'utilisateur
    }

    static boolean voyelle(char c) {
        // A compléter:
        // teste si un caractère est une voyelle
    }

    static boolean queVoyelles(String s) {
        // A compléter:
        // teste si une chaîne ne contient que des voyelles
        // utilise la méthode voyelle
    }

    static void cesure(String mot) {
        // A compléter:
        // détermine la césure d'un mot donné et effectue les affichages
        // correspondants (voir exemple de déroulement)
    }
}

Voici les trois règles de césure que vous devrez appliquer. Celles-ci ne correspondent évidemment pas aux véritables règles utilisées en français car le programme deviendrait trop compliqué pour le but de cet exercice.

Votre programme respectera également les règles suivantes:

Les exemples d'exécutions ci-dessous illustrent différentes situations possibles:
>java Cesure
Donnez le nombre de mots dans votre phrase: 1
Donnez le mot 1 : java

Le résultat est :

ja-
va

>java Cesure
Donnez le nombre de mots dans votre phrase: 1
Donnez le mot 1 : calculer

Le résultat est :

ca-
lcu-
ler

>java Cesure
Donnez le nombre de mots dans votre phrase: 2
Donnez le mot 1 : tapis
Donnez le mot 2 : rouge

Le résultat est :

ta-
pis
rou-
ge

>java Cesure
Donnez le nombre de mots dans votre phrase: 3
Donnez le mot 1 : oeil
Donnez le mot 2 : de
Donnez le mot 3 : boeuf

Le résultat est :

oeil
de 
boeuf


>java Cesure
Donnez le nombre de mots dans votre phrase: 0
entrez une valeur plus grande que 0
Les méthodes suivantes de la classe String peuvent vous être utile (vous n'aurez pas forcément besoin de toutes ces méthodes):

 


[Précédent]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]