Vous êtes sur la page 1sur 2

TP#3: Langage Java - Capitalisation des connaissances &

Mise en pratique complète


Licence Professionnelle - Génie Informatique - S3
Pr S.ROUBI
s.roubi@uiz.ac.ma

Université Ibn Zohr - Faculté Polydisciplinaire Taroudant -

Objectif du TP
A ce stade, les apprenants sont capables de concevoir une solution à un problème pensé en langage JAVA.
Ils ont eu l’occasion, durant les séances de cours théoriques. Durant ce TP, les apprenants vont écrire,
corriger, compiler et exécuter des programmes JAVA complets sous l’IDE Eclipse.

Exercice 1 Triangle en mode console

Écrire un programme qui affiche un triangle isocèle formé d’étoiles. La hauteur du triangle (c’est-à-
dire son nombre de lignes) sera fourni en donnée lie au clavier.
Par exemple : Donner la longueur de la base du triangle : 7
*
***
*****
*******
*********
***********
*************

Exercice 2 Héritage, ça passe ou ça casse?


Soit le code suivant :
class A {
B b;
void addB ( B b ){
this . b = b ;
}
int m (){
if ( this . b != null ) return -1 + this . b . m (); else return 0;
}
}
class B extends A {
int i = 1;
int m (){
i = this . i +1;
return this . i ;
}
}
Pour chaque programme ci-dessous, indiquez s’il compile et si oui, à quel affichage il conduit.
(A) A a = new A(); B b = new B(); a.addB(b); System.out.println(a.m()); System.out.println(b.m());

(B) A a = new A(); a.addB(new B()); System.out.println(a.b.m()); System.out.println(((A) a.b).m());


(C) A x = new B(); A y = new A(); B z = new B(); x.addB(z); System.out.println(x.m()); Sys-
tem.out.println(y.m());
Exercice 3 Compilation et erreurs
: le code suivant compile t-il? Si non, indiquez les erreurs.
class C {
interface I {
int i ;
public void m ();
}
class D implements I {
public int m (){
System . out . println (" Je suis un D ");
}
}
abstract class E implements I {
public void m (){
System . out . println (" Je suis un E ");
}
}
}

Vous aimerez peut-être aussi