Université Claude Bernard Lyon 1 ISFA MASTER 2 – IR, 2015–2016 Java Avancé TP1. Exceptions, librairies importées et sérialisation André FABBRI et Agnès RICO Au fur et à mesure que vous écrivez les classes, vérifier dans une classe Principale contenant la fonction main vos différentes méthodes. 1 1.1 Les Exceptions et les HashMap La classe CompteBancaire Un compte bancaire aura un nom de détenteur, un numéro d’IBAN et un solde. La classe CompteBancaire doit avoir les fonctionnalités suivantes : 1. Une méthode boolean equals(CompteBancaire e) pour tester l’égalité de deux objets CompteBancaire. Ces derniers sont considérés égaux s’ils ont même nom et même IBAN. 2. Une méthode String toString() qui retourne une chaîne de caractère regroupant toutes les informations du compte bancaire. 1.2 La classe Banque Une banque est le agrège un ensemble de comptes bancaires. On suppose que tous les comptes ont des IBAN différents (ce qui est généralement le cas). La banque regroupe l’ensemble des comptes bancaires dans une HashMap. La clé est l’IBAN du compte et la valeur correspond à l’objet CompteBancaire associé. La classe Banque contient les méthodes suivantes : — void ajouteCompteBancaire(CompteBancaire c) qui permet d’ajouter un compte bancaire à la liste. — String toString() qui retourne une chaîne de caractère avec l’ensemble des objets CompteBancaire. — CompteBancaire rechercheParIBAN(String iban) throw Exception pour retrouver un compte bancaire à partir de son IBAN. Cette fonction doit générer une exception si elle ne trouve pas de compte bancaire associé. 2 Librairie importée Nous allons nous baser la bibliothèque, Apache Commons Mathematics Library qui permet entre autre des faire des analyses de statistique descriptives. 1 2.1 Utilisation de la librairie commons math Tout d’abord, télécharger la librairie depuis le site http ://commons.apache.org/math/index.html ouvrez l’archive de manière à obtenir les fichier .jar. Ces fichiers sont les fichier contenant la librairie elle même. Creez un nouveau projet JAVA, pour ajouter la librairie cliquer à droite sur le projet, puis Propriété->chemin de Compilation->Bibliothèque->Ajouter Fichier JAR externe. 2.2 Travail à faire Créer une classe permettant : — de lire un fichier de données (par exemple le fichier décrivant les cas de diabète chez les indien pima (disponible sur le site de l’UCI) ; — de calculer une description des variables du jeu de données (équivalent de la fonction summary de R, c’est à dire le min, le max, la moyenne le point médian, les 1er et 3e quadran) ; 3 Serialization Reprenez les classes CompteBancaire et Banque précédentes et écrivez une classe Sauvegarde ayant les 2 méthodes : — public void sauvegarde(String nomfich) qui permet de sauvegarder les informations de la banque dans un fichier. — public Banque(String nomfich) throws java.io.IOException qui construit une Banque à partir d’une sauvegarde. Cette fonction lévera une exception dans le cas ou le fichier fourni n’existe pas. 1. Quelles classes faut-il déclarer Serializable ? 2. Écrire la méthode sauvegarde et le constructeur Banque(String nomfich). 2