TD 1 : Révision

1/2
100%

TD 1 : Révision

Exercice 1 [Utilisation des Exceptions]

La méthode parseInt est spécifiée ainsi :

public static intparseInt(Strings) throws NumberFormatException

Parameters:

s - a String containing the intrepresentation to be parsed

Returns:

Publicité

the integer value represented by the argument in decimal.

Throws:

NumberFormatException - if the string does not contain a parsable integer.

1. Utilisez cette méthode pour faire la somme de tous les entiers donnés en argument de la ligne de commande, les autres arguments étant ignorés.

Exercice 2 [Création des Exceptions]

Écrire une classe Entreprise. Une entreprise a un nombre d’employés, un capital, un nom,

une mission, et une méthode public String mission() qui renvoie la mission de l’entreprise et qui déclare le lancement de l’exception SecretMissionException. On aura également une

Publicité

méthode public int capital() qui renvoie le capital et qui déclare le lancement de l’exception

NonProfitException.

Écrire une classe EntrepriseSecrete qui hérite d’Entreprise et dont la méthode mission lance l’exception SecretMissionException. Écrire une classe EntrepriseSansProfit qui hérite d’Entreprise et dont la méthode capital lance l’exception NonProfitException.

Écrire une méthode qui prend en entrée un tableau d’entreprises et affiche la mission et le capital de toutes les entreprises (quand cela est possible). Tester la méthode sur les entreprises ”Ford”,”CIA”, ”Spectre”, ”CroixRouge”, ”Microsoft”, ”ParisDiderot”.

Exercice 3 [Utilisation des exceptions dans les constructeurs]

Toutou est une classe avec deux propriétés privées String nom et int nombrePuces.

Écrire un constructeur public Toutou (String n, int np) qui propage des exceptions de type IllegalArgumentException lorsque le nom n est null ou lorsque le nombre de puces np est négatif. Utiliser ce constructeur dans une méthode main pour contrôler les appels

Publicité

new Toutou ("milou", 4) et new Toutou ("medor", -11) et afficher les erreurs éventuelles lors de l’exécution des constructeurs.

Exercice 4 [Classes abstraites.]

1. Construisez une classe abstraite TabTrie qui correspond à un tableau trié d’objets. Cette classe doit notamment contenir :

– un tableau d’Object, tab, initialisé avec une capacite définie par défaut (il faut penser aussi à stocker le nombre d’Object contenus dans le tableau), et différentes méthodes qui peuvent être implantées ou abstraites :

– une méthode plusGrand qui compare deux objects et renvoie true si le premier est plus grand que le deuxième,

– une méthode ajouter qui insère un objet dans le tableau en respectant l’ordre croissant,

– une méthode toString qui renvoie une chaîne de caractères représentant le tableau.

Publicité

Lorsque la capacite du tableau est atteinte, l’insertion d’un nouvel élément lancera une exception TabPlein.

2. Construisez la classe TabTriCouple qui hérite de TabTri et ordonne des objects de type

Couple.

3. Une solution était-elle envisageable uniquement avec des interfaces ? Quel est l’intérêt ici des classes abstraites ?

TD 1 : Révision

Programming with Java (Exception Handling, Object-Oriented Design) · exam

Voir tous les documents en programmation

TD 1 : Révision

Exercice 1 [Utilisation des Exceptions]

La méthode parseInt est spécifiée ainsi :

public static intparseInt(Strings) throws NumberFormatException

Parameters:

s - a String containing the intrepresentation to be parsed

Returns:

Publicité

the integer value represented by the argument in decimal.

Throws:

NumberFormatException - if the string does not contain a parsable integer.

1. Utilisez cette méthode pour faire la somme de tous les entiers donnés en argument de la ligne de commande, les autres arguments étant ignorés.

Exercice 2 [Création des Exceptions]

Écrire une classe Entreprise. Une entreprise a un nombre d’employés, un capital, un nom,

une mission, et une méthode public String mission() qui renvoie la mission de l’entreprise et qui déclare le lancement de l’exception SecretMissionException. On aura également une

Publicité

méthode public int capital() qui renvoie le capital et qui déclare le lancement de l’exception

NonProfitException.

Écrire une classe EntrepriseSecrete qui hérite d’Entreprise et dont la méthode mission lance l’exception SecretMissionException. Écrire une classe EntrepriseSansProfit qui hérite d’Entreprise et dont la méthode capital lance l’exception NonProfitException.

Écrire une méthode qui prend en entrée un tableau d’entreprises et affiche la mission et le capital de toutes les entreprises (quand cela est possible). Tester la méthode sur les entreprises ”Ford”,”CIA”, ”Spectre”, ”CroixRouge”, ”Microsoft”, ”ParisDiderot”.

Exercice 3 [Utilisation des exceptions dans les constructeurs]

Toutou est une classe avec deux propriétés privées String nom et int nombrePuces.

Écrire un constructeur public Toutou (String n, int np) qui propage des exceptions de type IllegalArgumentException lorsque le nom n est null ou lorsque le nombre de puces np est négatif. Utiliser ce constructeur dans une méthode main pour contrôler les appels

Publicité

new Toutou ("milou", 4) et new Toutou ("medor", -11) et afficher les erreurs éventuelles lors de l’exécution des constructeurs.

Exercice 4 [Classes abstraites.]

1. Construisez une classe abstraite TabTrie qui correspond à un tableau trié d’objets. Cette classe doit notamment contenir :

– un tableau d’Object, tab, initialisé avec une capacite définie par défaut (il faut penser aussi à stocker le nombre d’Object contenus dans le tableau), et différentes méthodes qui peuvent être implantées ou abstraites :

– une méthode plusGrand qui compare deux objects et renvoie true si le premier est plus grand que le deuxième,

– une méthode ajouter qui insère un objet dans le tableau en respectant l’ordre croissant,

– une méthode toString qui renvoie une chaîne de caractères représentant le tableau.

Publicité

Lorsque la capacite du tableau est atteinte, l’insertion d’un nouvel élément lancera une exception TabPlein.

2. Construisez la classe TabTriCouple qui hérite de TabTri et ordonne des objects de type

Couple.

3. Une solution était-elle envisageable uniquement avec des interfaces ? Quel est l’intérêt ici des classes abstraites ?