Un étudiant nommé Jean-Complexe vient vers vous et vous dit que lui et ses amis détestent leur prénom car leur prénom est composé, or, ils trouvent cela trop long à prononcer. Ils désireraient ne garder que la première partie de leur prénom.
Comme la fin d'année approche à grands pas cette histoire vous donne une idée pour vous entraîner pour l'examen de java et vous décidez d'implémenter une méthode qui prend un nom de fichier comme argument. Ce fichier contient sur chaque ligne un prénom composé (les deux parties du prénom sont séparées par le caractère '-'
).
Le but de votre méthode est de lire chaque ligne du fichier et, pour chaque ligne, afficher sur la sortie standard uniquement la première partie de ce nom composé, avec un résultat par ligne. En regardant l'API Java sur les String
(http://docs.oracle.com/javase/7/docs/api/java/lang/String.html), vous vous êtes rendu compte que la méthode split
vous sera d'une grande aide.
Bien entendu, vous savez que lire dans des fichier en Java peut provoquer des exceptions et votre méthode s'arrangera pour les contenir et retourner la valeur -1
lorsque l'une d'entre elles apparaîtra.
Prenons un exemple. Si le contenu du fichier est ci-dessous :
Saint-François Jean-Pol Johnny-Hallyday
Votre programme affichera ces lignes sur la sortie standard (System.out
):
Saint Jean Johnny
Après avoir mûrement réfléchi, vous avez décidé de la signature de votre méthode et il ne vous reste plus qu'à l'implémenter :
/** * @pre filename est le nom d'un fichier. * si le fichier désigné par filename est lisible, * chaque ligne du fichier contient un String en deux * parties, séparées par un "-". * * @post imprime sur la sortie standard la première partie de * chaque ligne du fichier désigné par filename, un * résultat par ligne. * Retourne -1 si une exception a été lancée. */ public static int premierPrenom(String filename){ // À implémenter }