Vous êtes sur la page 1sur 10

TP du 11/25/2022

JAVA

Attention :
Le nom du programme doit être identique au nom de la classe principale,
Celle qui contient la méthode main()

PROCEDURE : Sous linux

Lancer Eclipse sur un terminal : TAPER : eclipse- java-oxygen

OU TAPER : eclipse MODULE : java-oxygen (par exemple) ou standard-sdk

Cliquer sur workbench (en haut à droit)

File > new > javaProject nom : ProjetJ2

Clic droit sur ProjetJ2 new > package nom : packageJ2

Clic droit sur packageJ2 (à gauche ) > new > class : nom : nom de la classe principale

Cocher
public static void main

Pour chaque exercice on fait new > class ,


Tous les programmes d’aujourd’hui sera mis dans le même packageJ2

Merci de lire l’énoncé jusqu’au bout, avant de commencer à coder et


Surtout de lire votre cours !!!

Mme SOA Page 1 sur 10 Dernière mise à jour le 25/11/2022


TP du 11/25/2022

JAVA

Le Exception : TRY/CATCH
SYNTAXE

try {
//On effectue ici le traitement normal  le calcul qui peut poser problème
}
catch(Exception e){
// on traite l’exception en mettant ceci :

System.out.println("erreur"+ e.getMessage());
}

Une erreur de syntaxe est détectée à la compilation et est corrigée par le développeur.
Par contre on peut avoir des erreurs de façon exceptionnelles qui sont imprévisibles et qui peuvent
bloquées le traitement.
Le traitement de ces erreur se gère par le bloc try { } catch{ }.
Dans le bloc try on traite la réussite et dans le bloc catch les erreurs.
Java met à notre disposition une liste de classe qui permet d’afficher le log du traitement et donc de
cerner l’exception. La classe mère de toutes les exceptions est la classe Exception.

1. Exercice: try / cath()

Ecrire un programme qui contient 2 classes : GestionException, Calcul.

 La classe principale GestionException permet juste d’instancier la classe Calcul. On


demande à l’utilisateur de saisir :

"2 nombres entiers a et b ".

 Dans la classe Calcul, on calcule la division, cette division est gérée par une méthode à 2 arguments,
la fonction ne retourne rien et affiche le résultat de la division.

 Utiliser le bloc try/catch() pour la gestion de la division par 0.


 Afin de voir le résultat du catch, on gardera le quotient avec le type int
 Le programme ne contiendra pas de la clause if.

Mme SOA Page 2 sur 10 Dernière mise à jour le 25/11/2022


TP du 11/25/2022

JAVA

HERITAGE (voir le cours sur le principe de l’héritage)

2. Exercice : Héritage d’une CLASSE

Ecrire un programme java qui permet d’afficher les 3 phrases ci-dessous :


Je passe l’examen des matières générales

Je passe l’examen d’informatique


Je passe l’examen des matières générales  grâce à l’héritage

PROCEDURE

- Déclarez la classe Examen, dans sa définition on déclare la fonction passerExamen( ) qui ne retourne
rien et encapsulé public, dans la définition de la fonction passerExamen(),
Affichez : Je passe l’examen des matières générales

- Déclarez la classe ExamenInfo, dans sa définition on déclare la fonction passerInfo( ) qui ne retourne
rien et encapsulé public ; dans sa définition, affichez:
Je passe l’examen d’informatique

Cette classe ExamenInfo hérite la classe Examen


- N’oubliez pas de déclarer et de définir la classe principale, appelée GestionExamen.

3. Exercice : Héritage d’une CLASSE

Déclarer la classe Animal, dans sa définition, déclarer et définir la fonction marcher( ) qui ne retournent
rien et qui affiche : Je marche.
Déclarer et définir la classe Chien qui hérite de la classe Animal et qui affiche dans la fonction
afficheChien(): Je cours
Déclarer et définir la classe Chat, qui hérite de la classe Animal et qui affiche : Je miaule

1. Afficher
Je marche
Je cours
Je marche
Je miaule
Je marche

Mme SOA Page 3 sur 10 Dernière mise à jour le 25/11/2022


TP du 11/25/2022

JAVA

PÖLYMOPHISME

Le polymorphisme résulte exclusivement de l’héritage, et c’est la possibilité de redéfinir dans la classe


fille une méthode qui existait déjà dans la classe mère (même nom de méthode), dans ce cas, on dit
qu’on a fait un override de la méthode de la classe mère, c’est-à-dire qu’on a annulé, inhibé de la
méthode de la mère.

4. Exercice : polymorphisme
Ecrire un programme java qui contient :

1. a) la classe Personne, contenant la méthode affiche(), cette méthode permet d’afficher la phrase :

C’est la classe mère

La classe Employe hérite de la classe mère, on redéfinit la méthode affiche(), dans sa définition, on
affiche :
C’est la classe fille

2. On souhaite appeler la méthode de la mère qui affiche la phrase de la mère :


C’est la classe mère

Malgré que cette méthode soit déjà redéfinie dans la classe fille.

Pour ce faire, appelez dans la classe fille, la méthode non écrasée de la mère grâce
au mot clé super :

super.nomDeLamethode() ;

RESULTAT
C’est la classe mère

Classe la classe fille

C’est la classe mère

Mme SOA Page 4 sur 10 Dernière mise à jour le 25/11/2022


TP du 11/25/2022

JAVA

5. Exercice : polymorphisme avec argument


1. Créer la classe Parler, contenant la méthode direUnMot(), cette méthode retourne une chaîne de
caractère, encapsulée public, on lui passe en argument unMot de type String qui sera saisi par
utilisateur.
Dans sa définition, On va déclarer une variable leMotDit de type String qui va recevoir le mot qui a
été saisi par l’utilisateur, précédé de la phrase : La classe Mère dit :
Cette méthode retourne leMotDit

2. Créer la classe Chuchoter qui hérite de la classe Parler, cette classe contient aussi la méthode
direUnMot(), qui retourne une chaîne de caractère, encapsulée public, on lui passe en argument
unMot de type String qui sera saisi par utilisateur.
Dans sa définition, On va déclarer une variable leMotDit de type String qui va recevoir le mot qui a
été saisi par l’utilisateur, précédé de la phrase : La classe Fille chuchote : Cette méthode retourne
leMotDit
String leMotDit="Je chuchote une "+unMot;
RESULTAT
La classe Mère dit : Félicitation
Classe fille chuchote: Félicitation

3. Que devait être le résultat si on n’a pas mis le même nom de méthode de la classe Mère
à la classe Fille

Mme SOA Page 5 sur 10 Dernière mise à jour le 25/11/2022


TP du 11/25/2022

JAVA

CREATION D’UN TABLEAU

Un tableau est une variable qui permet d’enregistrer des valeurs de mêmes types. La taille d’un
tableau est fixée à l’avance.
Un tableau est caractérisé son type et sa taille

Pour créer un tableau en java, il faut instancier le type des variables qu’on souhaite enregistrer, suivi
de la taille du tableau, entre crochet : new type[taille]

Pour déclarer d’un tableau, on précise le type suivi d’un crochet et le nom de la variable tableau :
type[ ] variable
Exemple : int[] tab = new int[4]
Exemple : Déclaration d’un tableau de chaîne de caractère

int taille = tab.length; //permet de récupérer la taille d’un tableau

3 Manières d’écrire :
Pas besoin de créer le tableau, connaissant les valeurs, le tableau se crée automatiquement
String[ ] tab = { "Pierre" , "Paul" , "Jacques" , "Marie"};
String[ ] tab = new String[4] ; // déclaration et création de tableau
tab [0] = "Pierre";
tab [1] = "Paul" ;
tab [2] = "Jacques";
tab [3] = "Marie" ;
String[ ] tab = new String[4]
//Affectation en dynamique : avec une boucle, on demande les valeurs une à une à l’utilisateur

Scanner scan= new Scanner(System.in);


for(int i=0;i<4;i++){
System.out.println("Veuillez saisir un nom");
tab[i]= scan.next();
}

Mme SOA Page 6 sur 10 Dernière mise à jour le 25/11/2022


TP du 11/25/2022

JAVA

6. Exercice : Tableau
Ecrire un programme qui permet

1. D’insérer des prénoms en dure (sans demander à l’utilisateur) dans un tableau avec la syntaxe :

type[ ] nomTab = {valeur1, valeur2, valeur3, …} ; // pas besoin d’instancie le type de valeur ni de préciser la taille

2. D’afficher le 2ème prénom est : xxx

7. Exercice : tableau
Ecrire un programme qui permet de remplir un tableau de chaine de caractères.
Ce tableau contiendra 3 noms: DUBOIS DUPONT DURAND
1. Utiliser les 3 manières de faire (on mettra en commentaire la 1ère manière avant de
changer à la 2ème manière):
a. Saisir directement avec une accolade
b. Créer le tableau en instanciant le type, ensuite on saisit les valeurs une à une.
c. Créer le tableau en instanciant le type, ensuite on demande les valeurs avec
une boucle. (en dynamique).

2. Afficher la 1ère valeur du tableau, avec une phrase.

Mme SOA Page 7 sur 10 Dernière mise à jour le 25/11/2022


TP du 11/25/2022

JAVA

8. Exercice : constante – Tableau – boucle – nombre de valeur restante

Créer un tableau de taille 5000, on prendra la taille 5 pour le test, cette taille sera stockée dans une
constante :
final int n=5 ;

L'utilisateur doit saisir les 5 valeurs non nuls,


au fur et à mesure de la saisie, on affiche le nombre de valeurs restantes à saisir.
Il vous reste 4 valeurs à insérer
Il vous reste 3 valeurs à insérer
°°°

On demandera à l’utilisateur la position de la valeur qu’il souhaite afficher :


" Quelle est la position (1 à n) de la valeur que vous voulez qu’on affiche "

9. Exercice : Tableau-somme
Ecrire un programme qui calcule la somme des valeurs entiers saisies au clavier.
Ces valeurs seront stockées dans un tableau de taille 50000, on prendra 5 pour le test.
METHODE :
Pour calculer la somme S,
- On initialise la variable S à Zéro
- On rajoute au fur et à mesure dans une boucle les différentes valeurs de la somme.

S = S + tab [ i ] ; // i un compteur (variable) allant de 1 à 5 S =0+ tab[0]+ tab[1]+ tab20]+ tab[3]+ tab[4]

Mme SOA Page 8 sur 10 Dernière mise à jour le 25/11/2022


TP du 25/11/2022

JAVA

10. Exercice : Boucle-tableau-test-somme-moyenne


Ecrire un programme qui permet demander à l’utilisateur de choisir parmi :
Somme / Moyenne / Minimum
D’un tableau d’entier.
Ces valeurs seront stockées dans un tableau de taille maximale 5.
On acceptera qu’une taille entre 1 et 5,
 Le résultat de la moyenne sera arrondi à 10-3 près.

RECHERCHE DE MINIMUM :
- La variable min sera initialisée à la 1ère valeur du tableau
- La valeur de min sera comparée à la 2ème valeur, à la 3ème valeur …
Si min est grand on met à jour sa valeur par la 2ème valeur, à la 3ème valeur…

Mme SOA Page 9 sur 10 Dernière mise à jour le 25/11/2022


TP2 du 25/11/2022

JAVA 4H

11. Exercice : Tableau-tri sélection


Ecrire un programme qui :
- demande à l’utilisateur de saisir la taille n d’un tableau d’entier, n ne doit pas dépasser pas 5,
on laisse à l’utilisateur la possibilité de ressaisir autant de fois que nécessaire si n > 5.
- remplir le tableau par saisie utilisateur
- Trier le tableau dans l’ordre croissant avec le principe de tri par sélection (ci-dessous)
- afficher le tableau trié

METHODE DE TRI PAR SELECTION :


1. On initialise le min à la 1ère valeur du tableau ou plutôt l’indice du minimum imin sera initialisé à 0
2. On compare la valeur d’indice imin à partir de la 2ème valeur : on met à jour l’indice de imin si
nécessaire.
3. On échange le minimum à la 1ère case du tableau.

- On recommence :
1. On initialise le min à la 2ème valeur du tableau ou plutôt l’indice du minimum imin sera initialisé à 1
2. On compare la valeur d’indice imin à partir de la 3ème valeur : on met à jour l’indice de imin si
nécessaire.
3. On échange le minimum à la 2ème case du tableau.
- Généraliser le procédé dans une boucle ° ° °

12. Exercice : Tableau 2D de notes


o Insérer des entiers entre 0 et 20 dans un tableau de dimension 2, la taille et les valeurs
du tableau seront demandées par saisie utilisateur.
Les lignes correspondent aux étudiants, les colonnes correspondent aux modules suivis
par l’étudiant.

o Demander à l’utilisateur ce qu’il souhaite faire :


1 => Afficher la moyenne de chaque étudiant.
2 => Afficher la moyenne de la classe de chaque module
3 => Afficher la meilleure note de chaque module

int[][] tab = new int[nbLigne][nbColonne];

Mme SOA Page 10 sur 10 Dernière mise à jour le 25/11/2022

Vous aimerez peut-être aussi