Académique Documents
Professionnel Documents
Culture Documents
Exercice 1 (Exception)
Ecrire une classe « Equation » qui représente une équation de premier degré, définie par ces
deux coefficients. La classe admet une méthode «..resoudre(…) », qui retourne la
solution « X » de l’équation. Les cas particuliers et les erreurs sont gérés par des exceptions.
Aucun affichage n’est fait au niveau de la méthode.
Ecrire le programme qui teste cette classe et qui :
- Admet deux paramètres représentant les coefficients d’une équation.
- Affiche la solution X de cette équation.
Exemple d’exécution :
Paramètres donnés : 5 10
5X+10=0 ==> X=-2.0
Paramètres donnés : 0 0
Deux coefficients nulles, la solution est tout IR
Paramètres donnés : 0 4
Erreur : Impossible
Exercice 2 (Exception)
1. Pour la classe « Jeux » définie comme suit : (1 pt)
class Jeux {
public static int nombre;
public int nb;
public Jeux(int i) {
nombre++;
nb=nombre+i;}}
1
2. Soit le code java suivant :
import java.util.Scanner;
public class TableauSansExce {
public static void main(String[] args)
{ int t[]=new int[3];
int i=0;
String entree,reponse;
Scanner s=new Scanner(System.in);
do
{System.out.println("Donner un nombre entier :");
entree=s.next();
t[i]=Integer.parseInt(entree);
System.out.println("Taper OK pour continuer");
reponse=s.next();
i++;
}while(reponse.equals("OK"));
for(i=0;i<t.length;i++)
{System.out.print("t["+(i+1)+"]="+t[i]+"\t");}}}
Etant donné la hiérarchie des sous classes de la classe Exception :
o class java.lang.Exception
o class java.lang.ClassNotFoundException
o class java.lang.IOException
o class java.lang.RuntimeException
o class java.lang.IllegalArgumentException
o class java.lang. NumberFormatException
o class java.lang.IndexOutOfBoundsException
o class
java.lang.ArrayIndexOutOfBoundsExceptio
n
o class java.lang.NegativeArraySizeException
2.1. Quels sont les résultats fournis par le programme, ci-dessus, dans les cas suivants.
S’il y a eu des exceptions, il faut préciser leurs classes. (2,75 pts)
2
Donner un nombre entier : Donner un nombre entier :
5 8
Taper OK pour continuer Taper OK pour continuer
OK OK
Donner un nombre entier : Donner un nombre entier :
20 K01
2.2. En utilisant les délimiteurs de blocs try et catch, ajouter le code nécessaire pour prévoir
une gestion des exceptions relative aux exceptions levées dans la question 2.1. Le
traitement des exceptions est réduit à l’affichage du message contenu dans l’objet
exception. (3,25 pts)
Exercice 3 (Polymorphisme)
Voici ci-dessous une classe de test et l'affichage que des classes (à créer) devront fournir. La
méthode getType de ces classes devra fournir une description de l'instance, en incluant les
descriptions de toutes les classes mères.
La classe de test :
public class TestAnimal {
public static void main(String[] args) {
Animal[] animaux = new Animal[5];
animaux[0] = new Animal("Truc");
animaux[1] = new Animal();
animaux[2] = new Chien("Médor");
animaux[3] = new Homme();
animaux[4] = new Homme("Robert");
for (int i = 0; i < animaux.length; i++) {
System.out.println(animaux[i].getType());
}
}
}
L'affichage :
Je suis un animal de nom Truc.
Je suis un animal.
Je suis un animal de nom Médor. Je suis un mamifère. Je suis un chien.
3
Je suis un animal. Je suis un mamifère. Je suis un homme.
Je suis un animal de nom Robert. Je suis un mamifère. Je suis un homme.
Exercice 4 (Interface)
Une agence de location de voitures offre à ses clients la possibilité de choisir la voiture louée en
fonction de différents critères. Les voitures sont définies par un matricule, une marque, un modèle et
un prix de location. On note que, les trois premiers attributs sont des chaînes de caractères, le
dernier est un entier et ils sont tous privés.
1. Ecrire le code, en java, de la classe Voiture réduite aux attributs, ci-dessus, à un constructeur qui
initialise les attributs par des valeurs passées en paramètres ainsi qu’aux deux méthodes
getMarque() et getPrix(). (2.5 pts)
Il est possible de sélectionner dans la liste des voitures, à louer, une voiture satisfaisant un critère
donné. On définit donc l’interface Critère ayant la méthode suivante :
5. Créer une classe Test réduite à une fonction main dans laquelle on :
Crée un tableau de 3 voitures suivantes : (1.25 pts)
("123 TUNIS 2345","BMW","mod1",122);
("110 TUNIS 1234","Peugeot","mod2",120);
("135 TUNIS 1323","BMW","mod3",120);
4
Crée un critère marque représentant la marque « BMW » (0.75 pt)
Crée un critère prix de 120. (0.75 pt)
Affiche le nombre de voitures qui vérifient les deux critères suivants : (1,25 pt)
- La marque BMW.
- Le prix de location inférieur ou égal à 120.