0% ont trouvé ce document utile (0 vote)
459 vues3 pages

TP POO-Java : Exercices et Concepts clés

Ce document décrit plusieurs exercices de programmation orientée objet en Java. Il présente des classes comme Etudiant et Cercle avec leurs attributs et méthodes. Les exercices portent sur la création de classes, l'utilisation de constructeurs, et les concepts d'attributs et méthodes statiques.

Transféré par

Oussama Lahlimi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
459 vues3 pages

TP POO-Java : Exercices et Concepts clés

Ce document décrit plusieurs exercices de programmation orientée objet en Java. Il présente des classes comme Etudiant et Cercle avec leurs attributs et méthodes. Les exercices portent sur la création de classes, l'utilisation de constructeurs, et les concepts d'attributs et méthodes statiques.

Transféré par

Oussama Lahlimi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Département d’Informatique Année universitaire 2020/2021

Faculté des sciences POO-Java


Université Mohammed Premier Filière SMI
Oujda Semestre 5

TP numéro 1

Objectifs
— Se familiariser avec l’environnement de programmation Java en travaillant en mode
commande puis avec Eclipse ;
— Créer et instancier une classe en utilisant les constructeurs ;
— Comprendre la diffèrence entre un attribut privè et un attribut public ;
— Surcharge de méthodes ; attributs et mèthodes statiques.

Exercice 1
1. Dans votre répertoire de travail et en utilisant un éditeur de texte, écrivez le programme
suivant dans un seul fichier :
public c l a s s T e s t E t u d i a n t {
public s t a t i c void main ( S t r i n g [ ] a r g s ) {
Etudiant etud = new Etudiant ( " A l i " , " Sai d " ) ;
etud . a f f i c h e r ( ) ;
}
}
c l a s s Etudiant {
private S t r i n g nom , prenom ;
public Etudiant ( S t r i n g nom , S t r i n g prenom ) {
t h i s . nom = nom ;
t h i s . prenom = prenom ;
}
public void a f f i c h e r ( ) {
System . out . p r i n t l n ( "Nom: "+nom+" , Prenom : "+prenom ) ;
}
}

2. Compilez le programme, vérifiez les fichiers générés et exécutez le programme.


3. Que se passe t-il si on ajoute l’instruction [Link]=“Sami” ; dans la classe TestEtudiant ?
4. Ajoutez les mèthodes getNom() et setNom() pour résoudre ce problème.

Exercice 2
1. Créez une classe Point qui a trois attributs x, y et z, un constructeur et une méthode
calculer() qui a trois arguments et qui retourne leur somme.
2. Crèez une classe principale nommée Exercice2 qui instancie l’objet ayant x = 5, y = 2
et z = 3. Appelez la mèthode calculer() pour cet objet.

1
Exercice 3
Soit la classe Etudiant définie comme suit :

Etudiant
nom
prenom
cne
afficher()

1. Créez la classe Etudiant en définissant trois constructeurs :


— un qui permet d’initialiser le nom et le prénom ;
— un autre pour initialiser le nom, le prénom et le cne (utiliser this()) ;
— et un constructeur de copie.
2. Crèer une classe TestEtudiant pour les tests. Dans cette classe créez (instanciez) trois
objets de type Etudiant :
— pour le premier, utiliser le premier constructeur ;
— pour le deuxième, utiliser le deuxième constructeur ;
— le troisième objet utilise les données (une copie) du deuxième étudiant.
3. Ajoutez à la classe Etudiant :
— trois attributs privés (note1, note2 et note3) ;
— un constructeur qui initialise tous les attributs ;
— une méthodes « moyenne() » qui permet de calculer la moyenne des notes ;
4. Dans la classe TestEtudiant, demandez à l’utilisateur d’entrer les notes de trois étudiants
et affichez la moyenne correspondante à chacun d’eux.

Exercice 4
1. Créez la classe Cercle qui contient :
— les attributs privés x et y (centre du cercle) et le rayon.
— un constructeur qui initialise le centre et le rayon ;
— la méthode deplacerCentre() qui permet de déplacer le centre (contient deux para-
mètres) et les méthodes setRayon() et getRayon() ;
— la méthode afficher() qui permet d’afficher les informations du cercle.
2. Testez la classe Cercle dans la classe TestCercle :
— Créez un cercle de centre et rayon saisis au clavier et affichez les informations.
— Modifiez le rayon du cercle et affichez les informations concernant le cercle.
— Déplacer le centre du cercle de (2, 2) et affichez les nouvelles informations ;

Exercice 5
Une autre façon de traiter l’exercice 4 est comme suit (voir figure ci-dessous) :
— Créez une classe Point qui a deux attributs x et y, un constructeur et une méthode
afficher() ;
— La classe Cercle est définie maintenant par un point et un rayon. Ajoutez un construc-
teur qui contient deux arguments, un de type double et l’autre de type Point ;

2
— Ajoutez une méthode afficher() qui appelle la mèthode afficher() de la classe Point et
qui ajoute l’information concernant le rayon.
— Testez la classe Cercle dans la classe TestCercle.

Exercice 6
Qu’affiche le code suivant ? vérifiez vos résultats et expliquez pourquoi.
c l a s s MaClasse {
s t a t i c int x = 2 ;
int y = 3 ;
}
public c l a s s T e s t S t a t i c {
public s t a t i c void main ( S t r i n g [ ] args ){
MaClasse A = new MaClasse ( ) ;
MaClasse B = new MaClasse ( ) ;
A. y = 4 ;
System . out . p r i n t l n ( "A. y = " + A. y ) ;
System . out . p r i n t l n ( "B . y = " + B. y ) ;
A. x = 5 ;
System . out . p r i n t l n ( "A. x = " + A. x ) ;
System . out . p r i n t l n ( "B . x = " + B. x ) ;
}}

Exercice 7
Qu’affiche le code suivant ? vérifiez le résultat et trouvez la bonne solution.
import j a v a . u t i l . Scanner ;
public c l a s s TestComparaisonChaines {
public s t a t i c void main ( S t r i n g [ ] a r g s ) {
S t r i n g nom = " smi " , s t r ;
Scanner i n p u t = new Scanner ( System . i n ) ;
System . out . p r i n t ( " S a i s i r l e nom : " ) ;
s t r = input . nextLine ( ) ;
i f ( s t r == nom) System . out . p r i n t l n (nom + " = " + s t r ) ;
e l s e System . out . p r i n t l n (nom + " d i f f e r e n t de " + s t r ) ;
}
}

Vous aimerez peut-être aussi