Série 09 - Jacques BAPST
Transcription
Série 09 - Jacques BAPST
Programmation Java / Travaux pratiques S09 - String et Entrées/Sorties (I/O) Classes I1 + T1 1 Écrire un programme qui calcule la moyenne des entiers passés en paramètres au lancement de l'application. Exemple : Paramètres de l'application : 2 4 7 Résultat affiché : Valeur moyenne de (2,4,7) : 4.33333 2 Écrire un programme qui reçoit en paramètre le nom d'un fichier texte, et qui affiche le nombre de caractères, de mots et de lignes contenus dans ce fichier (comme la commande Unix "wc"). Si le fichier n'existe pas (ou s'il y a une autre erreur), le programme affichera le message "Impossible de trouver le fichier xxx". S'il n'y a aucun argument sur la ligne de commande, le programme affichera le message "Entrez le nom du fichier" puis lira cette information depuis le clavier. La classe java.util.StringTokenizer permet de découper une chaîne de caractères en mots. Utilisation : import java.util.StringTokenizer; ... StringTokenizer t; t = new StringTokenizer("voici trois mots"); int n = t.countTokens(); while(t.hasMoreTokens()) { String word = t.nextToken(); ... } // Importation de la classe // Déclaration d'un découpeur de mots // Création du découpeur sur un String // Calcul du nombre de mots dans le String // Teste s'il reste des mots à parcourir // Consulter le prochain mot FACULTATIF Écrire un nouveau programme qui effectue le même travail, mais en utilisant la classe Scanner (éventuellement en association avec la méthode split()), à la place de StringTokenizer. 3 Modifier le programme Ex0905 (codage de César) de manière à réaliser un cryptage polyalphabétique (codage de Vigenère, longtemps considéré comme indéchiffrable). Dans ce cas, la clé de codage sera constituée d'une chaîne de caractères (uniquement des lettres majuscules entre 'A' et 'Z') et le résultat sera enregistré dans un fichier nommé <nom>.vig. HECAMESAWANDWON ERKAMSAHUNDSIEG TE JAVAJAVAJAVAJAV "JAVA" QEXAVENAFAIDFOI 4 FACULTATIF En utilisant un fichier à accès aléatoire (RandomAccessFile), écrire un programme qui modifie un fichier de texte en remplaçant chaque occurrence d'un caractère par un autre. Trois paramètres seront passés à l'application : FileName FindChar ReplaceChar EIA-FR PR1_S09.doc 18.11.2013 1