0% ont trouvé ce document utile (0 vote)
1 vues2 pages

TD TP2

Le document présente plusieurs exercices de programmation en Java, incluant des appels de méthodes et des erreurs de définition de classes. Il demande également la création de classes pour manipuler des points sur un axe et pour attribuer des numéros uniques aux objets. Chaque exercice est accompagné d'instructions spécifiques et d'attentes de résultats.

Transféré par

nayrouzmekni8
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
1 vues2 pages

TD TP2

Le document présente plusieurs exercices de programmation en Java, incluant des appels de méthodes et des erreurs de définition de classes. Il demande également la création de classes pour manipuler des points sur un axe et pour attribuer des numéros uniques aux objets. Chaque exercice est accompagné d'instructions spécifiques et d'attentes de résultats.

Transféré par

nayrouzmekni8
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 DOCX, PDF, TXT ou lisez en ligne sur Scribd

ISET Béjà Lammouchi R.

POO
TD – TP 2
Exercice 1
On suppose qu’on dispose de la classe A ainsi définie :
class A
{
void f (int n, float x) { ..... }
void g (byte b) { ..... }
.....
}
Soit ces déclarations :
A a ; int n ; byte b ; float x ; double y ;
Dire si les appels suivants sont corrects et sinon pourquoi.
a.f (n, x) ;
a.f (b+3, x) ;
a.f (b, x) ;
a.f (n, y) ;
a.f (n, (float)y) ;
a.f (n, 2*x) ;
a.f (n+5, x+0.5) ;
a.g (b) ;
a.g (b+1) ;
a.g (b++) ;
a.g (3) ;
Exercice 2
Quelles erreurs ont été commises dans la définition de classe suivante et dans son
utilisation ?
class A
{
static int f (int n)
{
q=n;
}
void g (int n)
{
q=n;
p=n;
}
static private final int p = 20 ;
private int q ;
}
public class EssaiA
{
public static void main (String args[])
{
A a = new A() ; int n = 5 ;
a.g(n) ;

Page 1 sur 2
ISET Béjà Lammouchi R.

a.f(n) ;
f(n) ;
}
}
Exercice 3
Créer une classe permettant de manipuler un point d’un axe, repéré par une abscisse (de type
int). On devra pouvoir effectuer des changements d’origine, en conservant en permanence
l’abscisse d’une origine courante (initialement 0). On prévoira simplement les méthodes
suivantes :
 constructeur, recevant en argument l’abscisse "absolue" du point (c’est-à-dire repérée
par rapport au point d’origine 0 et non par rapport à l’origine courante),
 affiche qui imprime à la fois l’abscisse de l’origine courante et l’abscisse du point par
rapport à cette origine,
 setOrigine qui permet de définir une nouvelle abscisse pour l’origine (exprimée de
façon absolue et non par rapport à l’origine courante),
 getOrigine qui permet de connaître l’abscisse de l’origine courante.

Ecrire un petit programme de test fournissant les résultats suivants :


Point a - abscisse = 3
relative à une origine d'abscisse 0
Point b - abscisse = 12
relative à une origine d'abscisse 0
On place l'origine en 3
Point a - abscisse = 0
relative à une origine d'abscisse 3
Point b - abscisse = 9
relative à une origine d'abscisse 3
Exercice 4

Réaliser une classe qui permet d’attribuer un numéro unique à chaque nouvel objet créé (1 au
premier, 2 au suivant…). On ne cherchera pas à réutiliser les numéros d’objets éventuellement
détruits. On dotera la classe uniquement d’un constructeur, d’une méthode getIdent
fournissant le numéro attribué à l’objet et d’une méthode getIdentMax fournissant le numéro
du dernier objet créé.

Écrire un petit programme d’essai.

Page 2 sur 2

Vous aimerez peut-être aussi