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
Voici un programme très simple en java. Écrivez le programme qui suit dans un fichier appelé Bonjour.
java :
public class Bonjour