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 :
capable de compiler et dexecuter des programmes Java  a` la main  ;
Etre
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.

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 principal 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).

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 e tape 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

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 workspace ne posera pas de probl`eme, sous Windows, il vous faudra faire attention a` lendroit o`u 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 e crites en TD ;
Executer le programme en appuyant sur le bouton Run ( ).

Completer le projet avec une classe Rectangle

Nous allons completer notre projet avec une nouvelle classe Rectangle quil faudra e crire. 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 coordonnees (0, 0) ;
Un constructeur prenant en param`etre deux points 2D indiquant les coins du rectangle ;
Un constructeur prenant en param`etre 4 valeurs qui sont les coordonnees du premier et du
deuxi`eme 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 perim`etre dun rectangle ;
Une methode isInRectangle() prenant en param`etre 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 e crivez l`a de mani`ere a` correspondre au cahier des
charges donne plus haut ;
Modifier votre classe de test, de mani`ere a` ce quelle puisse verifier toutes les fonctionnalites
que vous avez implementees.

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 rectangle passe en param`etre. Le resultat sera lui-meme un rectangle ;
Une methode getUnion() calculant le rectangle englobant le rectangle courant et un rectangle
passe en param`etre. Le resultat sera lui-meme un rectangle ;
Modifier la classe de test de mani`ere a` verifier ces fonctionnalites.
2

Manipuler des collections de rectangles

On souhaite pouvoir calculer lintersection puis lunion dun tableau de rectangles. Cela e tant
rattache aux rectangles, modifier la classe Rectangle pour pouvoir le realiser, puis modifier le programme 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 (probl`emes dans le code source, documentation, resultat de lexecution
dun programme, etc...)

;
F IGURE 2 Bote de dialogue de creation de projet

;
F IGURE 3 Perspective par defaut sous Eclipse

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).

;
F IGURE 4 Bote de dialogue dajout dune classe

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