Vous êtes sur la page 1sur 5

EC726 Programmation avancee

TP 1 Introduction aux outils de programmation Java


Jean-Yves Didier

Objectifs :
Prendre en main les outils pour programmer en Java :
Etre capable de compiler et dexecuter des programmes Java  a la main  ;
Savoir utiliser Eclipse pour creer un projet et compiler des programmes.
Mettre en oeuvre les premiers concepts de programmation orientee objet au travers du langage
de programmation Java.

1 Compiler les programmes Java a la main


Travail a realiser :

Se connecter a la machine ens-unix (icone sur le bureau) ;


Creer un fichier nomme HelloWorld.java dans lequel vous creerez le point dentree prin-
cipal du programme qui affichera la ligne Hello world !
Compilez le programme en utilisant lutilitaire javac ;
Executez le programme par le biais de la machine virtuelle Java (Utilitaire java).

2 Prise en main rapide dEclipse


Indifferemment sous Windows ou sous Linux, lancer lenvironnement de developpement integre
(EDI) nomme eclipse. Il sagit de lEDI le plus populaire quand il sagit de programmer en Java.
Il offre un certain confort que noffre pas la ligne de commande ni les outils simples dedition de
programme. Cela est au prix dune etape supplementaire : il faut creer un projet qui contient les
classes developpees. Pour cela, nous nous appuierons sur les annexes qui detaillent deux procedures
de prise en main (rapide) dEclipse.

F IGURE 1 Bote de dialogue pour configurer lespace de travail

1
Attention !
Lors du premier lancement dEclipse, il faut parametrer lespace de travail (workspace) dans lequel
le programme entrepose par defaut ses projets (voir figure 1). Autant sous Linux, le choix du works-
pace ne posera pas de probleme, sous Windows, il vous faudra faire attention a lendroit ou vous le
mettez. Vous pouvez le placer soit sur votre compte (lecteur H :) ou dans le bureau.

Travail a realiser :

Lancer Eclipse en prenant bien soin de bien configurer le workspace ;


Configurer un nouveau projet ;
Y ajouter les classes Point2D et TestPoint2D que vous avez ecrites en TD ;
Executer le programme en appuyant sur le bouton Run ( ).

3 Completer le projet avec une classe Rectangle


Nous allons completer notre projet avec une nouvelle classe Rectangle quil faudra ecrire. Cette
classe comportera deux attributs de type Point2D : un coin1 et un coin2. Elle comportera trois
constructeurs :
Un constructeur par defaut donnant un rectangle nul (rectangle dont les coins sont aux coor-
donnees (0, 0) ;
Un constructeur prenant en parametre deux points 2D indiquant les coins du rectangle ;
Un constructeur prenant en parametre 4 valeurs qui sont les coordonnees du premier et du
deuxieme coin.
La definition de la classe Rectangle sera a completer avec les methodes suivantes :
Une methode getHeight() calculant la hauteur du rectangle ;
Une methode getWidth() calculant la largeur du rectangle ;
Une methode getArea() calculant laire du rectangle ;
Une methode getPerimeter() calculant le perimetre dun rectangle ;
Une methode isInRectangle() prenant en parametre un point et retournant si le point est dans
le rectangle ou non ;
Une methode isNull() renvoyant si le rectangle est nul ou non.

Travail a realiser :

Ajouter la classe Rectangle a votre projet et ecrivez la de maniere a correspondre au cahier des
charges donne plus haut ;
Modifier votre classe de test, de maniere a ce quelle puisse verifier toutes les fonctionnalites
que vous avez implementees.

4 Completer la classe Rectangle


Travail a realiser :
Completer la classe Rectangle avec deux methodes :
Une methode getIntersection() qui calcule lintersection entre le rectangle courant et un rec-
tangle passe en parametre. Le resultat sera lui-meme un rectangle ;
Une methode getUnion() calculant le rectangle englobant le rectangle courant et un rectangle
passe en parametre. Le resultat sera lui-meme un rectangle ;
Modifier la classe de test de maniere a verifier ces fonctionnalites.

2
5 Manipuler des collections de rectangles
On souhaite pouvoir calculer lintersection puis lunion dun tableau de rectangles. Cela etant
rattache aux rectangles, modifier la classe Rectangle pour pouvoir le realiser, puis modifier le pro-
gramme de test en consequence.

Annexes
A Configurer Eclipse pour creer un nouveau projet
Pour creer un nouveau projet,
1. aller dans le menu File, selectionner loption New..., puis loption Java Project ;
2. cela ouvre une bote de dialogue similaire a celle presentee a la figure 2 ;
3. dans la bote de dialogue, renseigner le nom de votre projet, et modifier loption Project Layout
comme indique sur la figure, puis finaliser en appuyant sur Finish ;
4. une fois la bote de dialogue refermee, il vous faut activer la perspective par defaut pour
programmer : menu Window, option open perspective, sous-option other... et selectionner java
(default) ;
5. la vision de votre projet devrait ressembler a celle que vous avez a la figure 3 :
A gauche, vous avez larborescence de votre projet ;
Dans la zone grise reduite au milieu, vous aurez la zone dedition du code source de vos
classes ;
En bas, vous aurez divers onglets vous apportant des informations sur lactivite en cours
sur votre projet (problemes dans le code source, documentation, resultat de lexecution
dun programme, etc...)

F IGURE 2 Bote de dialogue de creation de projet

3
;

F IGURE 3 Perspective par defaut sous Eclipse

B Ajouter une classe a un projet sous Eclipse


Pour ajouter une classe sous Eclipse, la procedure est la suivante :
faire un clic droit sur le nom du projet, selectionner loption New ..., la sous-option class ;
une bote de dialogue similaire a la figure 4 apparat ;
renseigner au minimum le nom de la classe. Il est a noter quil est possible dindiquer de quelle
classe on herite ainsi que les options quEclipse peut generer automatiquement (comme une
methode main, point dentree du programme, par exemple) ;
valider en cliquant sur le bouton Finish ;
Eclipse propose alors un premier squelette dimplementation de classe a remplir (voir figure
5).

4
;

F IGURE 4 Bote de dialogue dajout dune classe

F IGURE 5 Edition du code source de la classe sous Eclipse