Vous êtes sur la page 1sur 5

Partie A : Lecture d’un fichier

Exercice 1 : Rappel sur la classe Scanner


A- Reproduire l’exemple ci-dessous :

A l’exécution, nous avons :

B- Tester et exécuter le code ci-dessous. Pourquoi on a ce résultat ? Corriger le problème.

Exercice 2
La classe Scanner peut être utilisée pour extraire des tokens dans une chaine. Modifier le programme
précédent comme ci-dessous :

Exercice 3
La classe Scanner peut également utilisé pour lire des informations dans un fichier :

DR. EHB TOURE 1


NB : Le contenu du fichier numbers.txt est donné ci-dessous :
308,2
14,9 7,4 2,8
3,9 4,7 -15,4
2,8

Généraliser le problème pour qu’il prenne en compte le fait que l’on ne connait pas la taille du fichier
(le nombre de valeurs).
Penser à utiliser la méthode hasNextDouble de l’objet Scanner (input.hasNextDouble).

Exercice 4
Réaliser le programme Election.java qui lit le fichier polls.txt ci-dessous et affiche les communes
remportés par soit BBY ou Yewwi Askan Wi.

Le fichier polls.txt est donné ci-dessous :


ZG 56 31 23 Jan
DK 37 56 5 Sep
SL 41 49 10 Oct

Exercice 5
Réaliser le programme Hours.java qui permet d’afficher pour chaque employé le nombre total
d’heures effectué par semaine et le nombre moyen d’heures travaillées par jour (voir capture).

Le fichier hours.txt est donné ci-dessous :

123 Alex 12,5 8,2 7,6 4,0


456 Alina 4,2 11,6 6,3 2,5 12,0
789 Ryan 16,0 12,0 8,0 20,0 7,5

DR. EHB TOURE 2


Partie B : Ecriture dans un fichier
Exercice 1
Utiliser la classe PrintStream pour écrire dans un fichier. Lorsque vous créez un objet de type
PrintStream alors vous pourrez utiliser les mêmes méthodes que pour System.out (c-à-d : println,
print, etc.).
Si le fichier n’existe pas il sera créé, sinon il sera écrasé (data.txt sera créé automatiquement).

Hello, file!

Exercice 2
Reprendre l’exercice 5 de la partie A en mettant le résultat non pas dans la console mais dans un
nouveau fichier nommé hours_out.txt qui devra contenir :
Ross (ID#123) worked 32.3 hours (8.075 hours/day)

Erika (ID#456) worked 36.6 hours (7.32 hours/day

Alex (ID#789) worked 63.5 hours (12.7 hours/day)

Exercice 3
Ecrire un programme java Spammer.java qui demande à l’utilisateur de saisir un nom de domaine et
recherche dans un fichier appelé address_book.txt. Si un mail avec le nom de domaine est trouvé,
l’utilisateur demande si le contact doit être ajouté à la liste de spam (la saisie de l’utilisateur en gras).
Exemple :
Email domain to spam? @gmail.com
Would you like to spam therealsherlock@gmail.com? Yes
Le programme doit écrire les contacts que l’utilisateur a sélectionné dans le fichier spam_list.txt.

Exercice 4
Modifier l’exercice 5 de la partie A en créant un fichier HoursSearch.java qui va rechercher un employé
selon son ID.

DR. EHB TOURE 3


Partie C : Mini-Projet
Exercice 0
Récupérer le fichier top250.txt. Ecrire un programme Java qui prend en input le fichier top250.txt et
produit en output le fichier imdb.txt qui sera formatté comme suit :

10 8,8 482970 The Dark Knight (2008)
11 8,8 286926 Star Wars: Episode V - The Empire Strikes Back (1980)
12 8,8 376934 The Lord of the Rings: The Return of the King (2003)

Exercice 1
Soit la base de données sur les films IMDB (le résultat de l’exercice 0)

Ecrire un programme qui affiche les films dont le titre contient le mot donné par l’utilisateur.
Exemple si on recherche le mot « lord » dans le fichier, on obtient :

Dans cet exercice, il faudra créer les fonctions ci-dessous :


• public static String getWord() :
o qui affiche « Search word » et permet de saisir le mot à rechercher
• public static String search(Scanner input, String searchWord) :
o qui recherche si une ligne de « input » contient la chaine « searchWord ». Si oui la
fonction renvoie la ligne sinon la chaine vide.
• public static void display(String line) :
o qui prend une ligne, le tokenize (décompose en mots) avec Scanner et affiche ses
différents composants.
• public static void main(String[] args) throws FileNotFoundException :
o qui fait appel aux trois fonctions précédentes pour donner le résultat escompté.

DR. EHB TOURE 4


Exercice 2
Reprendre l’exercice précédent, cette fois-ci en ajoutant un affichage graphique pour le résultat de la
recherche.

Exécution N°1 Exécution N°2

DR. EHB TOURE 5

Vous aimerez peut-être aussi