Deug MASS 2  Année 2000/2001

U.N.S.A.

ALGORITHMIQUE ET STRUCTURES DE DONNEES

TP N^{o} 1

Introduction à Java

1 Configuration de l’environnement

Avant de commencer à programmer en Java, il convient de configurer son environnement pour pouvoir utiliser les outils Java.

Par défaut, le compilateur et la machine virtuelle Java ne se trouvent pas dans la liste des répertoires où votre shell va chercher les exécutables. Il va falloir modifier le fichier de configuration de votre shell (ce fichier, caché, se nomme .zshenv pour le shell zsh et se trouve à la racine de votre répertoire personnel).

Effectuez une copie de sauvegarde de ce fichier de configuration puis éditez-le avec Emacs. Localisez la ligne :

PATH=~/bin:/usr/local1/bin:[...]

et rajoutez le chemin vers les exécutables Java parmi la liste des exécutables connus du shell. Pour cela rajoutez le chemin /usr/local/java/jdk1.2.2/bin: directement après PATH= pour obtenir alors une ligne commençant par :

PATH=/usr/local/java/jdk1.2.2/bin:~/bin:/usr/local1/bin:[...]

Forcez le shell à relire ce fichier de configuration en tapant la commande

source ~/.zshenv.

Enfin, vérifiez que la modification est bien effective en demandant au shell s’il trouve, par exemple, le compilateur Java en tapant la commande

which javac.

2 Configuration de XEmacs

Par défaut, XEmacs, l’éditeur standard sous Unix, reconnait et possède un mode pour les fichiers Java. Cependant, celui-ci n’est pas très performant et il existe un autre mode, plus utilisé, appelé JDE.

Ce mode est déjà installé sur les machines, mais XEmacs n’est pas configuré pour l’utiliser. Pour y remédier, éditez, avec XEmacs, le fichier de configuration .emacs situé à la racine de votre répertoire personnel et rajoutez-y les lignes suivantes :

;; JDE - Mode Java pour xemacs
;*****************************
(setq load-path
   (cons "/usr/local/java/jde-2.1.5" load-path))
(require 'jde)

Quittez et relancez XEmacs, puis ouvrez ou créez un fichier Java pour vérifier que le mode JDE est bien chargé (indication du mode majeur JDE dans la ligne d’état, présence d’un nouveau menu JDE, ou encore d’un nouvel élément JDE New dans le menu File).

JDE vous apporte la possibilité de voir les mots-clés du langage en couleur, de pouvoir compiler directement à partir de XEmacs vos programmes, d’indenter automatiquement les expressions... Consultez l’aide sur JDE dans le menu JDE.

Une autre configuration souhaitée de XEmacs concerne l’affichage de la position courante du curseur dans la ligne d’état. Ces réglages se trouvent en cliquant dans la barre d’état avec le bouton droit de la souris sur la partie où est écrit JDE. Choisir les modes mineurs d’édition column-number-mode

et line-number-mode

3 Exercices

3.1 Exercice 1 : Hello World

1. Recopiez le bout de code de HelloWorld du cours dans un fichier que vous appelerez HelloWorld.java, compilez et exécutez.

2. Modifiez le programme pour qu’il affiche Bonjour <votre nom>

3. Modifiez le programme pour qu’il affiche Hello <le premier argument

     que vous passerez au programme>

4. Executez le programme précédent sans lui donner de paramètre. Que se passe-t-il? Pourquoi?

3.2 Exercice 2

1. En vous aidant du TD 1, écrivez un programme qui affiche le nombre passé en paramètre du programme si ce nombre est positif et affiche un message d’erreur sinon.

2. Testez ce programme, ou bien à l’aide d’un terminal avec la commande java, ou mieux, directement dans XEmacs, en utilisant JDE.

3. Que se passe-t-il si vous omettez de donner un argument au programme ou si cet argument n’est pas un entier?

3.3 Exercice 3

Ecrivez un programme prenant en paramètre un entier et affichant la table de multiplication de cet entier de 1 à 10.

3.4 Exercice 4

Ecrivez et testez le programme décrit dans l’exercice 2 du TD numéro 1. Ce programme prend en paramètre une borne inférieure strictement supérieure à 1, une borne supérieure strictement inférieure à 50. Elle donne la liste de nombres pairs entre ces deux bornes. Si la borne inférieure n’est pas strictement supérieure à 1, ou si la borne supérieure n’est pas strictement inférieure à 50, ou encore si la borne inférieure est plus grande que la borne supérieure, le programme affiche un message d’erreur.