TD 10 : mes premiers pas en Java

Transcription

TD 10 : mes premiers pas en Java
Cours Programmation C, C++, Java
Magistère de mathématiques, 2e année
—
TD 10 : mes premiers pas en Java
Luc Bougé, Hervé Jégou
29 novembre 2005
On vous rappelle que le compilateur java s’appelle javac. Vos fichiers sources doivent
avoir l’extension .java. La compilation d’un fichier créé un fichier dans un format particulier
à Java dont l’extension est .class. Les classes doivent être isolées dans des fichiers portant le
même nom.
N’hésitez pas, au besoin, à consulter la documentation des classes de JDK 1.4.2. Celle-ci
est disponible à l’url http://java.sun.com/j2se/1.4.2/docs/api/index.html.
I. Hello World et factorielle
Question I.1. Écrivez un programme java qui affiche le message de bienvenue Hello world !
sur la sortie standard. Pour cela, créez une classe contenant une méthode de classe
public static void main(String args[]) qui affiche le message à l’écran.
import java.io.*;
class Test {
public static void main(String args[]){
// corps du programme
}
}
Question I.2. Modifiez votre programme factorielle pour qu’il calcule et affiche la factorielle
de l’entier passé en argument. Pour cela, vous implémenterez la classe Factorielle possédant une méthode de classe main( ...) qui lit l’entier dont on veut calculer la factorielle
et affiche le résultat du calcul.
Note : La lecture du paramètre de la ligne de commande (du programme au niveau
Unix) se fait grâce à la methode parseInt( String s) de la classe Integer . Cette méthode
renvoie l’entier associé à la chaine de caractères s passée en paramètre :
int n = Integer.parseInt(args[0]);
1
Remarquez que le programme affiche un message d’erreur si aucun argument n’est passé
en paramètre.
Question I.3. En utilisant l’expression args.length, qui renvoie le nombre d’éléments du tableau args, calculez la factorielle de tous les entiers passés en argument.
II. La classe Complex
Question II.1. Écrivez la classe Complex telle que vous l’avez vue en cours. Cette classe
contient deux attributs de type double. Ces attributs, re et im, correspondent respectivement à la partie réelle et à la partie imaginaire du complexe.
Note : pour tester votre classe Complex, vous écrirez également une classe Main contenant la méthode public static void main(String args[]).
Question II.2. Écrivez une méthode non statique sub qui renvoie la différence de deux complexes. Utilisez cette fonction pour vérifier l’associativité à gauche du point (.).
Question II.3. Modifiez les fonctions add et sub de la classe complexe afin que ces fonctions
soient statiques.
Question II.4. Écrivez une méthode mulby2 qui calcule le double d’un complexe, sans le
modifier.
Question II.5. Écrivez les extracteurs suivants :
double get_re() renvoie la partie réelle du complexe,
double get_im() renvoie la partie imaginaire du complexe.
Question II.6. Que se passe-t-il si vous effectuez l’appel suivant ?
Complex c = new Complex(2,3);
c.get_re() = 5;
III. Ma première applet Java
Dans cette partie, vous allez écrire une applet monApplet qui affiche le message suivant
dans votre butineur Internet :
Hello World!
Pour écrire une applet java, vous devez d’abord créer un fichier monApplet.html. Ce fichier sera utilisé pour décrire la page web contenant la (les) applet(s) java, et pour passer des
paramètres à cette (ces) dernière(s).
<html>
<head>
<title>Une simple applet</title>
</head>
<body>
2
<h1>Ma premiere applet</h1>
<applet code="monApplet.class" width="200" height="200">
</applet>
</body>
</html>
Question III.1. Écrivez le fichier monApplet.html. Visualisez ce document HTML avec un
butineur, par exemple mozilla.
Pour que votre butineur affiche le contenu de l’applet, écrivez votre application dans un
fichier source java (extension .java) dans lequel vous implémenterez une classe monApplet.
Cette classe doit hériter de la classe Applet. Cet héritage s’effectue de la manière suivante :
public class monApplet extends JApplet
Question III.2. Implémentez la classe monApplet qui hérite de la classe Applet. Cette classe
ne contient qu’une seule méthode : la méthode public void paint(Graphic g). Pour afficher votre message, utilisez la méthode drawString de la classe Graphics.
Note : incluez les classes Graphics et Color
import java.awt.Graphics;
import java.awt.Color;
import javax.swing.*;
Question III.3. Visualisez votre applet avec le butineur. Utilisez ensuite la commande
appletviewer pour afficher votre applet. Modifiez votre fichier HTML pour affichez
deux fois votre applet avec des dimensions différentes. Quelques différences observezvous ?
Dans la suite, préférez l’utilisation de la commande appletviewer pour visualiser vos applets.
Question III.4. Rendez plus jolie votre applet monApplet en utilisant d’autres méthodes de
la classe Graphics. En particulier, mettez un fond d’une autre couleur que celle par
défaut et affichez le texte dans un cadre (rectangle). Pour connaître les méthodes de
la classe Graphics que vous pouvez utiliser pour embellir votre affichage, consultez
l’URL http:// java.sun.com/ j2se/ 1.4.2/ docs/ api/ index.html.
Question III.5. Plutôt que le message "Hello World !", affichez les dimensions de l’applet.
Pour cela, utilisez la méthode getSize() pour obtenir la largeur et la hauteur de la fenêtre graphique associée à l’applet. Ces dimensions sont obtenues, respectivement, par
getSize().width et getSize().heigth.
3

Documents pareils

TP 1 : premiers pas pratiques

TP 1 : premiers pas pratiques Voici un programme très simple en java. Écrivez le programme qui suit dans un fichier appelé Bonjour. java : public class Bonjour

Plus en détail