Vous êtes sur la page 1sur 8

E

E
x
x
e
e
r
r
c
c
i
i
c
c
e
e
s
s
c
c
o
o
r
r
r
r
i
i
g
g

s
s
d
d
e
e

p
p
r
r
o
o
g
g
r
r
a
a
m
m
m
m
a
a
t
t
i
i
o
o
n
n
O
O
O
O
J
J
a
a
v
v
a
a


P Pr r p pa ar r s s p pa ar r : :

M Ml ll le e I Im me en ne e S Sg gh ha ai ie er r















A An nn n e e A Ac ca ad d m mi iq qu ue e : : 2 20 00 06 6- -2 20 00 07 7

Premiers Pas

I. AvantdeprogrammerenJava
Le J DK de Sun (J ava Development Kit) est loutil essentiel pour programmer en J ava. Il
permet la compilation, le dbogage et lexception dapplications et dapplets J ava. Il
comprend galement des fonctions avances comme les signatures numriques, la cration
darchives et de documentation ou lintgration de code natif C. La documentation de J DK est
en fait lAPI (Application Programming Interface) de J ava (le dtail de toutes les fonctions du
langage). Aprs avoir install le J DK, il faut dfinir un chemin de recherche des excutables
PATH .
Pour le faire, Lancer une session DOS et taper :
Set Path=C:\JDK\bin ou bien directement Path=C:\JDK\bin
(Donne la valeur C:\JDK\bin la variable denvironnement path) Ou encore
Set Path=%Path%;C:\JDK\bin
(Ajoute le chemin C:\JDK\bin la valeur de la variable denvironnement path)
Ceci ne fonctionne que si C:\JDK\ est le rpertoire dinstallation du J DK. Si ce nest pas le
cas, remplacer-le par votre vrai rpertoire.

II. Lacompilationduncodesource
Pour compiler un fichier source il suffit d'invoquer la commande javac avec le nom du fichier
source avec son extension .java :
javac NomFichier.java
Le nom du fichier doit correspondre au nom de la classe principale en respectant la classe
mme si le systme d'exploitation n'y est pas sensible.
Public class HelloWorld {
//Code}}
Le nom du fichier sera HelloWorld.java
Une fois le fichier enregistr, ouvrir une fentre DOS et aller au rpertoire o le fichier est
enregistr (Rappel : utiliser cd nomrpertoire pour monter dun niveau et cd.. pour
descendre).
Pour le compiler taper :
Javac HelloWorld.java
Suite la compilation, le pseudo-code J ava est enregistr sous le nom HelloWorld.class, ce
fichier est compil et sera interprt par la machine virtuelle.

III. L'excution d'un programme java
Une classe ne peut tre excute que si elle contienne une mthode main() correctement
dfinie. Pour excuter un fichier contenant du bytecode, toujours dans le mme rpertoire
(dans lequel est cre le fichier .class), il suffit d'invoquer la commande java avec le nom du
fichier source avec ou sans son extension .class
java NomFichier et dans notre exemple java HelloWorld

Exercice 1 :
On se propose de faire fonctionner un programme J ava dont le rle est dafficher Hello World !

Exercice 2 :
On se propose de faire fonctionner un programme J ava dont le rle est dafficher le premier mot
quon lui passe comme paramtre dexcution.
Exercice 3:
Crer un fichier HelloWorldWithMethod.java contenant la classe HelloWorldWithMethod
2- Ajouter une mthode void Hello() qui fait laffichage dune chane de caractres exemple :
Youre Welcome !
3- Ajouter la mthode main dans laquelle vous faite instancier la classe
HelloWorldWithMethod
et rfrence linstance ainsi cre une variable s quon dclare comme suit :
HelloWorldWithMethod s=new HelloWorldWithMethod() ;
4- Dans la mthode main faite un appel la mthode Hello() de lobjet s comme suit :
s.Hello() ;
Exercice 4:
1-Crer un fichier HelloWorldWithAttribut.java contenant la classe HelloWorldWithAttribut
2- Ajouter un attribut String maChaine la classe
3- Ajouter une mthode void Hello() qui fait laffichage de la chane de caractres attribut de
la classe comme suit System.out.println(this.maChaine);
4- Ajouter la mthode main dans laquelle vous faite instancier la classe
HelloWorldWithMethodAndArg et rfrence linstance ainsi cre une variable s quon
dclare comme suit :
HelloWorldWithMethodAndArg s=new HelloWorldWithMethodAndArg () ;
5- Dans la mthode main faite affecter lattribut de lobjet s comme suit s.maChaine=Salut '
6- Dans la mthode main faite un appel la mthode Hello() de lobjet s comme suit
s.Hello() ;


Gnralits



Exercice1
Ecrire un programme qui calcule la somme des 100 premiers entiers et indique l'cran le
rsultat.
Exercice 2
Il s'agit de modliser un segment de droite dont les valeurs des deux extrmits sont entires.
Si on change les deux extrmits, on considre qu'il s'agit encore du mme segment. Les
oprations que l'on souhaite faire sur ce segment sont :
calculer sa longueur
savoir si un entier donn se trouve sur le segment (c'est--dire s'il est compris entre la
plus petite et la plus valeurs des extrmits du segment).
Ecrire un programme qui contient :
une classe Segment comportant
o deux attributs de type int, ext r 1 et ext r 2, reprsentant les coordonnes
(entires) des extrmits d'un segment sur un axe
o un constructeur de ce segment recevant en argument les deux valeurs entires
des extrmits du segment que l'on veut construire
o une mthode nomme or donne changeant ventuellement les valeurs des
extrmits du segment de telle sorte que la valeur de ext r 1 soit au plus gale
la valeur de ext r 2.
o une mthode retournant la longueur du segment
o une mthode dont le prototype est :
bool ean appar t i ent ( i nt x) ; indiquant si le point de coordonne x appartient ou
non au segment
o une mthode redfinissant la mthode :
public St r i ng t oSt r i ng( )
Celle-ci dcrira une instance de Segment sous la forme d'une chane de caractres (par
exemple, le segment d'extrmits -35 et 44 pourra tre transform en la chane de
caractres : " segment [ - 35, 44] " ) (la plus petite extrmit est toujours indique
gauche). La mthode "retournera" (return. . . ) cette chane.
une classe Essai Segment testant la classe Segment et comportant une mthode mai n
laquelle on devra fournir trois paramtres entiers par la ligne de commande : origine et
extrmit d'un segment et coordonne d'un point dont on voudra savoir s'il appartient
ou non au segment. On utilisera ncesairement la mthode t oSt r i ng lorsqu'on voudra
crire le segment sur la sortie standard (l'cran).
Exercice 3
Il s'agit d'crire un programme qui calcule la factorielle des n premiers entiers et indique
l'cran le rsultat. Le nombre n doit tre lu sur la ligne de commande.

Exercice 4
Il s'agit d'crire un programme qui, tant donne une chane de caractres (une instance de la
classe St r i ng )
calcule la chane inverse
indique s'il s'agit ou non d'un palindrome
Exercice 5
Il s'agit de modliser un vecteur de Z
2
dont l'origine est en (0, 0) (un tel vecteur est donc
caractris par deux nombres entiers relatifs). Les oprations que l'on souhaite faire sur ce
segment sont :
calculer sa longueur, par une mthode d'instance sans paramtre, nomme l ongueur ,
et qui retourne cette longueur sous forme d'un doubl e
savoir si le vecteur concern est ou non plus petit qu'un autre un autre vecteur donn ;
on crira pour cela une mthode d'instance nomme pl usPet i t Que qui recevra en
paramtre l'autre vecteur et qui retournera une variable de type bool ean
additionner au vecteur concern un autre vecteur ; on crira pour cela une mthode
d'instance nomme addi t i on qui recevra en paramtre l'autre vecteur et qui ne
retournera rien
additionner deux vecteurs donns ; on crira pour cela une mthode statique nomme
aussi addi t i on (en utilisant ainsi la possibilit de la surcharge) qui recevra en
paramtres les deux vecteurs additionner et qui retournera le rsultat sous forme d'un
objet de type Vect eur
une mthode redfinissant la mthode :
public St r i ng t oSt r i ng( )
Celle-ci dcrira une instance de Vect eur sous la forme d'une chane de caractres (par
exemple, le vecteur de composantes 1 et 2 pourra tre dcrit par la chane de
caractres : " vect eur ( 1, 2) " ). La mthode retournera cette chane.
Exercice 6
Il s'agit de dfinir une classe modlisant une pile d'entiers +. Ncessairement, tous les attributs
de cette classe auront le modificateur pr i vat e, ce qui signifie qu'on ne peut pas les utiliser
directement de l'extrieur de la classe (on dit encore qu'ils ne sont visibles que de leur propre
classe).
Cette classe possdera les trois mthodes suivantes (il faudra reprendre exactement les en-
ttes indiques) :
voi d empi l er ( i nt n)
Cette mthode empile la valeur n reue en paramtre.
i nt depi l er ( ) t hr ows Except i onPi l eVi de
Si la pile est vide, cette mthode lance une exception, ce que vous ferez par
l'instruction :
t hr ow new Except i onPi l eVi de( ) ;
sinon, elle dpile un entier dont elle retourne la valeur,
bool ean est Vi de( )
Cette mthode retourne t r ue si la pile est vide et f al se dans le cas contraire.
Vous implmenterez en fait une pile de deux faons diffrentes, en dfinissant une classe pour
chaque faon.
La premire classe, nomme Pi l e1, utilisera un tableau d'entiers. Au dpart, ce
tableau aura une certaine longueur, petite (par exemple 3); il faudra veiller agrandir
ce tableau lorsqu'il est plein et que l'on veut encore empiler un entier ; on pourra alors
agrandir le tableau d'une quantit dtermine (par exemple 2).
La seconde classe, nomme Pi l e2, utilisera une liste chane. Il faudra dfinir une
classe supplmentaire pour modliser un maillon de cette liste.
Dans ce fichier, il faudra juste changer Pi l e1 en Pi l e2 si on veut tester la classe
Pi l e2.

Vous aimerez peut-être aussi