TD1 Entr´ ees/sorties D´ eveloppement Logiciel (L2-S4) Lundi 3 f´ evrier 2014 E

TD1 Entr´ ees/sorties D´ eveloppement Logiciel (L2-S4) Lundi 3 f´ evrier 2014 Exercice 1 Entr´ ees/sorties clavier. Le but de cet exercice est de calculer la moyenne de notes donn´ ees au clavier. Le syst` eme de- mande des notes jusqu’` a ce que le mot cl´ e “fini” soit donn´ e. A ce moment l` a le syst` eme s’arrˆ ete et affiche la moyenne. Il faudra faire attention ` a ce que chaque note soit comprise entre 0 et 20 et soit bien num´ erique. Pour ceci nous allons utiliser System.in qui est un InputStream. Il est alors possible d’utiliser la classe Scanner permettant la lecture de l’entr´ ee avec Scanner scanner = new Scanner(System.in). La lecture du clavier se fait alors avec String line = scanner.nextLine(). Exercice 2 File. Le but de cet exercice est d’utiliser la classe File. Cette classe permet de traiter des fichiers et des r´ epertoires. Elle contient notamment les m´ ethodes boolean isFile(), boolean isDirectory() et boolean exists() qui indiquent respectivement si l’instance correspond ` a un fichier, un dossier ou un ´ el´ ement existant dans le syst` eme de fichiers. Quand l’instance de File correspond ` a un r´ epertoire, il est possible de lister les fichiers qu’il contient avec String[] list(). a. Cr´ eez une m´ ethode void testFile (String path) (path signifie chemin en fran¸ cais) per- mettant de tester si le fichier existe, si c’est un fichier ou un r´ epertoire. b. Si le fichier n’existe pas, alors on le cr´ ee en utilisant la m´ ethode File.createNewFile(). c. Modifiez votre fonction pour les cas o` u il s’agit d’un r´ epertoire et dans ce cas ´ enum´ erer l’ensemble des fichiers s’y trouvant en donnant leur chemin absolu avec la m´ ethode File.getAbsolutePath(). d. On souhaite ` a pr´ esent afficher que les fichiers dont l’extension est .java. Nous allons pour cela utiliser la fonction String[] list(FilenameFilter filter) qui permet de filtrer les listes de fichiers comment on peut le faire avec ls. La Javadoc nous apprend que l’interface FilenameFilter d´ ecrit une m´ ethode boolean accept(File dir, String name) qui doit retourner true (donc vrai) si le fichier doit ˆ etre ajout´ e ` a la liste et false sinon. 1 Exercice 3 Copie de fichier. Le but de cet exercice est de copier le contenu d’un fichier dans un autre fichier. Pour cela nous allons cr´ eer la fonction void copie(String filenameFrom, String filenameTo). a. Dans un premier temps nous allons ´ ecrire le contenu du fichier au clavier. Pour cela nous pou- vons utiliser un BufferedReader qui permettra de mettre le texte dans une m´ emoire tampon et un FileReader qui ouvre le texte en lecture. Pour cr´ eer le BufferedReader nous pouvons faire BufferedReader buffer = new BufferedReader(new FileReader(filename)). Pour lire une ligne du fichier, il suffit d’ex´ ecuter buffer.readLine(). b. Ensuite, modifiez votre code pour ´ ecrire les lignes dans le fichier filenameTo. Pour cela, vous aurez besoin de BufferedWriter et FileWriter, qui s’utilisent comme ceci : BufferedWriter buffer = new BufferedWriter(new FileWriter(filename)) en appelant buffer.write(String s) pour ´ ecrire dedans. c. Modifiez votre code pour que le fichier de sortie ne contienne pas les commentaires Java, c’est-` a-dire les lignes commen¸ cant par // et les expressions entre /* et */. Exercice 4 Classe Student. Le but de cet exercice est de de cr´ eer la classe Student (Etudiant en fran¸ cais). Un ´ etudiant peut se repr´ esenter par un nom, un pr´ enom, un mot de passe et un ensemble de notes. a. Cr´ eez la classe Student avec son constructeur et sa m´ ethode String toString() qui affiche son nom et son pr´ enom. b. On veut pouvoir connaˆ ıtre la moyenne d’un ´ etudiant. Pour cela, nous allons parcourir l’en- semble des notes avec l’aide d’un it´ erateur. c. On veut aussi pouvoir sauvegarder l’ensemble des ´ el´ ements sauf le mot de passe qui doit rester confidentiel (il sera r´ ecup´ er´ e par un autre moyen que nous verrons peut-ˆ etre plus tard dans le semestre). d. Cr´ eez la m´ ethode static void main(String[] args) qui devra : – demander le nom et le pr´ enom de l’´ etudiant, – demander la liste de ses notes (r´ eutilisez ce que vous avez fait dans l’exercice 1), – afficher l’instance de l’´ etudiant et sa moyenne, – sauvegarder cette instance dans un fichier ayant pour nom : <nom de l’´ etudiant>.student. 2 uploads/Litterature/ td1.pdf

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager