Programmation orientée objet CP 2 TD/TP n°5 année 2015 Objectif L'objectif de cette partie du TD est de programmer une classe permettant de gérer les polynômes, d’étudier certaines spécificités du langage Java (nombre d’arguments quelconques) et de regarder comment se déroule l’ouverture d’un fichier. écriture de la classe Polynôme La classe Polynôme permet de modéliser tous les polynômes de la forme : Cette classe contiendra les attributs et méthodes suivants ! • La classe contiendra un unique attribut privé de type tableau qui contiendra la totalité des coefficients du polynôme. Un polynôme de degré n sera stocké dans un tableau de taille n+1, le coefficient c0 étant stocké dans la cellule 0 ; • un constructeur public Polynome(double... coeffs) qui prend un nombre d’arguments variable de type « double » afin d’initialiser le polynôme. Le coefficient c0 étant le premier argument. Les 3 petits points indiquent qu’il y a un nombre quelconque d’arguments, qui est une nouvelle caractéristique introduite dans la jdk 1,5 de Java. Le compilateur Java transforme automatiquement les arguments en un tableau exemple : public static void main(String [] args){ } • // Programme de Test Polynome p1 = new Polynome(1.1,2.2,3.3); Polynome p2 = new Polynome(1.1,2.2,3.3,4.4,5.5); un autre constructeur qui lit les coefficients à partir d’un fichier, qui a le format ci-dessous Degree-n(int) c0(double) c1(double) ...... ...... cn-1(double) cn(double) Le début du constructeur suivant devrait vous aider : public Polynome(String filename){ Scanner in = null; try { in = new Scanner(new File(filename)); } catch (FileNotFoundException e){ e.printStackTrace(); } int degre = in.nextInt(); } • une méthode public int getDegre() qui retourne le degré du polynôme ; • une méthode public String toString() qui retourne "cnx^n+cn-1x^(n-1)+... +c1x+c0" • une méthode public double evaluate(double x) qui évalue le polynôme en x ; • des méthodes public Polynome add (Polynome unAutrePolynome) et public Polynome multiplie(Polynome unAutrePolynome) qui effectuent les opérations d’addition et de multiplication de polynômes. A vous de programmer cette classe ainsi qu’une classe TestePolynome qui comprendra un certain nombre de tests sur les polynômes.