Corrections des exercices du livre 'Java pour les enfants, les parents et les grand-parents'

Page 1 sur 118Lecteur de document UniversityLib

Corrections des exercices du livre 'Java pour les enfants, les parents et les grand-parents'

Programming, specifically Java Programming · course

Browse all programmation documents

Corrections des exercices du livre "Java pour

les enfants, les parents et les grand-parents"

par Laurent Bernab

jacques_jean

Date de publication : 23 avril 2012

Derni re mise jour : 4 mai 2011

Le livre "Programmation Java pour les enfants, les parents et les grand-parents"

propose de nombreux exercices, mais aucune correction n' tait disponible. C'est donc le

but de cet article.

Corrections des exercices du livre "Java pour les enfants, les parents et les grand-parents" par Laurent Bernab

jacques_jean

I - Chapitre 2................................................................................................................................................................4

I-A - Afficher son adresse (en modifiant la classe BonjourMonde)....................................................................... 4

I-B - Afficher "Bonjour" avec des toiles................................................................................................................4

II - Chapitre 3...............................................................................................................................................................6

II-A - Cr ation de la classe Voiture........................................................................................................................6

II-A-1 - Cr ation de la classe sans les trois m thodes demand es.................................................................6

II-A-2 - Petite parenth se : les commentaires.................................................................................................. 6

II-A-3 - Ajout des m thodes demarrer() et arreter() dans la classe................................................................. 6

II-A-4 - Ajout de la m thode rouler() dans la classe........................................................................................ 7

II-A-5 - Code complet de la classe Voiture...................................................................................................... 8

II-B - Cr ation de la classe ProprietaireVoiture..................................................................................................... 8

II-C - Cr ation de la classe VoitureJamesBond.....................................................................................................9

II-D - Synth se..................................................................................................................................................... 10

III - Chapitre 4............................................................................................................................................................11

III-A - La classe ConvertisseurTemperatures.......................................................................................................11

III-A-1 - La division enti re et la division r elle.............................................................................................. 11

III-A-2 - Variable locale et initialisation........................................................................................................... 12

III-A-3 - Code.................................................................................................................................................. 12

III-B - Modification de la classe BulletinAppreciation...........................................................................................13

III-C - Exercice pour les petits malins : f licitations aux joueurs......................................................................... 13

III-C-1 - Le code original avec le mot-cl continue........................................................................................ 14

III-C-2 - Le code qu'il nous est demand d' valuer....................................................................................... 14

III-D - Synth se.................................................................................................................................................... 16

IV - Chapitre 5........................................................................................................................................................... 17

IV-A - Ajout d'un panneau op rations au code Calculatrice.java........................................................................ 17

IV-B - Alignement de l' cran de la calculatrice droite...................................................................................... 19

IV-C - Exercice pour les petits malins................................................................................................................. 21

IV-D - Synth se.................................................................................................................................................... 24

V - Chapitre 6............................................................................................................................................................ 25

V-A - On adapte la calculatrice de la correction pour petits malins du chapitre 5...............................................25

V-A-1 - R cup ration des anciens codes.......................................................................................................25

V-A-2 - Boucle For each.................................................................................................................................28

V-A-3 - La m thode getComponents() de java.awt.Container....................................................................... 29

V-A-4 - Le code final de Calculatrice avant les corrections........................................................................... 29

V-B - Division par 0..............................................................................................................................................31

V-C - Exercice pour les petits malins.................................................................................................................. 34

V-C-1 - Code complet.....................................................................................................................................35

V-D - Synth se..................................................................................................................................................... 37

VI - Chapitre 7........................................................................................................................................................... 38

VI-A - Exercice 1 : nombre de victoires/d faites................................................................................................. 38

VI-A-1 - Analyses et strat gies.......................................................................................................................38

VI-A-2 - Code complet.................................................................................................................................... 39

VI-B - Exercice 2 : r solution d'un bogue............................................................................................................ 44

VI-B-1 - Quelques astuces............................................................................................................................. 44

VI-B-2 - M thode actionPerformed corrig e...................................................................................................45

VI-B-3 - Code complet.................................................................................................................................... 45

VI-C - Exercice 3 : ajout d'une m thode main().................................................................................................. 50

VI-C-1 - Code de la m thode constuireContainer()........................................................................................51

VI-C-2 - Nouvelle version de la m thode init()...............................................................................................51

VI-C-3 - Code de la m thode main()..............................................................................................................52

VI-C-4 - Code complet....................................................................................................................................53

VI-D - Exercice pour les petits malins................................................................................................................. 59

VI-D-1 - Les tableaux multidimensionnels...................................................................................................... 59

VI-D-1-a - Th orie......................................................................................................................................59

VI-D-1-b - Mise en pratique.......................................................................................................................61

VI-D-2 - Code r sultat.....................................................................................................................................61

VI-E - Synth se.................................................................................................................................................... 67

VII - Chapitre 8.......................................................................................................................................................... 68

  • 2 -

Les sources pr sent es sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de pr sentation

constitue une Suvre intellectuelle prot g e par les droits d'auteur. Copyright 2012 Laurent Bernab . Aucune reproduction, m me partielle, ne

peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous

encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.

http://laurent-bernabe.developpez.com/tutoriel/java/corrige-exercices-java-pour-enfants/

Corrections des exercices du livre "Java pour les enfants, les parents et les grand-parents" par Laurent Bernab

jacques_jean

VII-A - Application commande de v los...............................................................................................................68

VII-A-1 - Nouvelle version de TropDeVelosException.................................................................................... 68

VII-A-2 - Correction d'une l g re anomalie dans le code original de EcranCommande................................ 68

VII-A-3 - EcranCommande sera une fen tre Swing.......................................................................................69

VII-A-4 - D claration et construction des composants de la classe EcranCommande.................................. 70

VII-A-5 - V rification de la commande et la nouvelle classe ModeleVelo...................................................... 70

VII-A-6 - Code complet de la classe EcranCommande................................................................................. 71

VII-B - Exercices pour les petits malins : liste d roulante................................................................................... 74

VII-B-1 - Construire l'objet JComboBox..........................................................................................................74

VII-B-2 - La m thode toString() de tout objet et nouvelle version de la classe ModeleVelo...........................74

VII-B-3 - L'interface ItemListener et la nouvelle version de EcranCommande............................................... 75

VII-C - Synth se................................................................................................................................................... 78

Advertisement

VIII - Chapitre 9......................................................................................................................................................... 79

VIII-A - Exercice 1 : Copier un fichier (mode console)........................................................................................ 79

VIII-B - Exercice pour les petits malins : copier un fichier (mode graphique)......................................................80

VIII-B-1 - Utilisation du composant Swing JFileChooser................................................................................80

VIII-B-2 - L'utilisation de classe locale et des constantes.............................................................................. 81

VIII-B-3 - Derni res consid rations.................................................................................................................82

VIII-B-4 - Le code complet..............................................................................................................................82

VIII-C - Synth se.................................................................................................................................................. 85

IX - Chapitre 10......................................................................................................................................................... 86

IX-A - Exercice 1 : nouveau constructeur pour la classe Poisson.......................................................................86

IX-B - Exercice 2 : nouveau constructeur pour la classe Score.......................................................................... 88

IX-C - Exercice pour les petits malins : DemoVector.java................................................................................... 90

IX-D - Synth se.................................................................................................................................................... 91

X - Chapitre 11.......................................................................................................................................................... 92

X-A - Exercice 1 : affecter les coordonn es du point.......................................................................................... 92

X-A-1 - Le support de travail.......................................................................................................................... 92

X-A-2 - Une correction possible..................................................................................................................... 94

X-B - Exercice 2 : r solution du bogue................................................................................................................97

X-B-1 - Support de travail...............................................................................................................................97

X-B-2 - Correction possible.......................................................................................................................... 102

X-C - Exercice pour les petits malins 1 : vitesse de la raquette........................................................................105

X-D - Exercice pour les petits malins 2 : direction du rebond de la balle..........................................................112

X-E - Synth se................................................................................................................................................... 117

XI - Remerciements................................................................................................................................................. 118

  • 3 -

Les sources pr sent es sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de pr sentation

constitue une Suvre intellectuelle prot g e par les droits d'auteur. Copyright 2012 Laurent Bernab . Aucune reproduction, m me partielle, ne

peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous

encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.

http://laurent-bernabe.developpez.com/tutoriel/java/corrige-exercices-java-pour-enfants/

Corrections des exercices du livre "Java pour les enfants, les parents et les grand-parents" par Laurent Bernab

jacques_jean

I - Chapitre 2

I-A - Afficher son adresse (en modifiant la classe BonjourMonde)

Ici, il suffit simplement d'effacer le contenu de la m thode main et d'appeler plusieurs fois :

Affichage de texte dans la console

System.out.println("Message");

On remplace bien s r "Message" par le contenu voulu pour chaque ligne.

Pour ma part, je suis parti d'une nouvelle classe, tout en ayant coch la checkbox permettant d'ajouter une m thode

main.

Bien s r, il ne faut surtout pas oublier :

"

"

ni les guillemets entourant le message ;

ni le point-virgule la fin de chaque ligne.

Voici un exemple possible :

Bonjour Monde (avec adresse)

public class BonjourMonde_Adresse {

public static void main(String[] args) {

System.out.println("Mr Dupond Martin");

System.out.println("56, rue de la fantaisie");

System.out.println("99999 VilleImaginaire");

}

}

I-B - Afficher "Bonjour" avec des toiles

L non plus, rien de tr s compliqu . Voici comment je m'y suis pris :

Bonjour (avec des toiles)

public class BonjourMonde_LogoEtoile {

public static void main(String[] args) {

System.out.println(" * ");

System.out.println();

System.out.println(" *");

System.out.println();

System.out.println(" * *");

System.out.println();

System.out.println(" * *");

System.out.println();

System.out.println(" * * ");

System.out.println();

System.out.println(" ");

System.out.println();

System.out.println(" *");

System.out.println();

System.out.println(" ");

System.out.println();

System.out.println(" *");

  • 4 -

Les sources pr sent es sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de pr sentation

constitue une Suvre intellectuelle prot g e par les droits d'auteur. Copyright 2012 Laurent Bernab . Aucune reproduction, m me partielle, ne

peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous

encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.

http://laurent-bernabe.developpez.com/tutoriel/java/corrige-exercices-java-pour-enfants/

Corrections des exercices du livre "Java pour les enfants, les parents et les grand-parents" par Laurent Bernab

jacques_jean

Bonjour (avec des toiles)

}

}

Vous aurez peut tre not , au passage, l'appel System.out.println() sans param tre : on n'a m me pas besoin de

passer une cha ne vide pour passer la ligne.

Advertisement

  • 5 -

Les sources pr sent es sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de pr sentation

constitue une Suvre intellectuelle prot g e par les droits d'auteur. Copyright 2012 Laurent Bernab . Aucune reproduction, m me partielle, ne

peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous

encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.

http://laurent-bernabe.developpez.com/tutoriel/java/corrige-exercices-java-pour-enfants/

Corrections des exercices du livre "Java pour les enfants, les parents et les grand-parents" par Laurent Bernab

jacques_jean

II - Chapitre 3

II-A - Cr ation de la classe Voiture

Ceux qui n'en peuvent plus d'attendre peuvent directement atteindre la section "Code complet de la classe Voiture"

et ventuellement, revenir sur les explications suivantes plus tard.

II-A-1 - Cr ation de la classe sans les trois m thodes demand es

On commence par cr er une nouvelle classe Voiture depuis Eclipse. Remarquez que l'ajout d'une m thode main()

n'est pas requis puisque ce n'est pas elle qui lance l'application. C'est le r le de la classe ProprietaireVoiture, que

l'on va r aliser en deuxi me question. On ne coche donc pas la case "public static void main(String [] args)".

On obtient donc :

Classe Voiture vide

public class Voiture {

// Methodes et variables d'instance vont ici.

}

II-A-2 - Petite parenth se : les commentaires

La ligne " //Methodes et variables d'instance vont ici " est un commentaire. Mais pas de panique : les commentaires

sont introduits dans un chapitre ult rieur du livre. Les commentaires sont libres :

"

"

d' tre ins r s o on le d sire ;

de contenir ce que l'on veut : du fran ais, de l'anglais m me du texte insignifiant.

Pourquoi ? Tout simplement parce que le compilateur les ignorera.

Vous vous demandez alors quoi cela peut-il bien servir : tout simplement, apporter des pr cisions sur le code

sans pour autant que la compilation de celui-ci soit entrav e.

Ne vous inqui tez pas pour l'instant de savoir comment composer un commentaire, un chapitre ult rieur du livre

vous le pr cisera.

II-A-3 - Ajout des m thodes demarrer() et arreter() dans la classe

Le plus difficile, consiste passer de la signature des trois m thodes (fonctions de la classe) leur codage complet :

du moins leur structure pr ts accueillir du code.

tant donn une signature telle que :

Simple signature de m thode (fonction)

public void demarrer()

Il nous suffit alors de :

1) Recopier la signature telle quelle entre les accolades destin es recevoir le code de la classe :

  • 6 -

Les sources pr sent es sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de pr sentation

constitue une Suvre intellectuelle prot g e par les droits d'auteur. Copyright 2012 Laurent Bernab . Aucune reproduction, m me partielle, ne

peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous

encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.

http://laurent-bernabe.developpez.com/tutoriel/java/corrige-exercices-java-pour-enfants/

Corrections des exercices du livre "Java pour les enfants, les parents et les grand-parents" par Laurent Bernab

jacques_jean

Ajout de la signature

public class Voiture {

// On ajoute la methode ici-m me

public void demarrer()

}

2) Ajouter alors le corps de la m thode : c'est- -dire l'endroit o sera cod l'ensemble des instructions de la m thode.

On ajoute donc une paire d'accolades la suite de la signature de la m thode :

Ajout des accolades

public class Voiture {

public void demarrer() { // c'est la paire d'accolades qui definit le corps de la methode

}

}

3) Enfin, on peut coder les instructions de la m thode :

Ajout des instructions

public class Voiture {

public void demarrer() {

// Ici les instructions que la methode demarrer() doit executer

System.out.println("Je demarre !!!");

}

}

Vous remarquerez galement que je n'ai pas mis d'accents ni dans les commentaires, ni dans le code : c'est un

choix d lib r . En effet, en passant d'un diteur un autre (de Eclipse Netbeans par exemple), ou d'un syst me

d'exploitation un autre (de Windows Ubuntu Linux par exemple), il se peut que l'on se retrouve confront au

probl me de conversion des caract res accentu s. En fait, tout d pend de "l'encodage de caract res" choisi par les

syst mes ou les diteurs.

Je ne souhaite pas rentrer dans les d tails, car je serais alors vraiment hors sujet, mais sachez tout de m me que

ne pas mettre d'accents dans les codes, est la meilleure mani re de ne pas tre ennuy .

On peut coder la m thode arreter() de la m me mani re :

M thode arreter

public class Voiture {

public void demarrer() {

System.out.println("Je demarre !!!") ;

}

public void arreter() {

System.out.println("Je m'arrete !!!") ;

}

}

II-A-4 - Ajout de la m thode rouler() dans la classe

La signature de la m thode rouler() rend la chose un peu plus difficile qu'elle n' tait pour les m thodes demarrer()

et arreter() :

Advertisement

*) elle retourne un int au lieu de renvoyer simplement void . Par cons quent, la derni re instruction de la m thode

rouler sera :

Retour de m thode

return valeurDirecte_Ou_VariableDeTypeInt;

  • 7 -

Les sources pr sent es sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de pr sentation

constitue une Suvre intellectuelle prot g e par les droits d'auteur. Copyright 2012 Laurent Bernab . Aucune reproduction, m me partielle, ne

peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous

encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.

http://laurent-bernabe.developpez.com/tutoriel/java/corrige-exercices-java-pour-enfants/

Corrections des exercices du livre "Java pour les enfants, les parents et les grand-parents" par Laurent Bernab

jacques_jean

*) elle attend obligatoirement un param tre duree de type int. On se dit aussit t qu'il faudra ventuellement, si le

besoin se fait ressentir, se reposer sur cette valeur pour adapter le traitement de la m thode rouler. Alors doit-on, ne

doit-on pas ? Eh bien oui, on doit, car l' nonc nous pr cise que c'est cette dur e - pass e par le code qui utilise la

voiture - qui permettra et de calculer et d'afficher la distance parcourue :

formule de la distance parcourue en fonction de la duree

distance = duree * 60

On peut apr s se poser la question des unit s employer : distance en km ? Dur e en h ? Pour ma part, l' nonc

ne demandant pas de traiter les unit s et en plus comme cela me compliquerait plus les choses qu'elles ne les

arrangeraient, j'ai d cid de ne pas en utiliser.

Que peut-on conclure des deux points pr c dents ? Tout simplement qu'il suffira de :

"

"

"

calculer la distance en fonction de la dur e pass e ;

de simuler un traitement avec un affichage cran (System.out.println()) ;

de retourner la distance calcul e .

Voici donc un exemple de codage pour la m thode rouler() :

M thode rouler()

public int rouler(int duree){

int distance = duree * 60;

System.out.println("Je roule sur une distance de "+distance+" .");

return distance;

}

II-A-5 - Code complet de la classe Voiture

Code complet de la classe Voiture

public class Voiture {

public void demarrer(){

System.out.println("Je demarre !!!");

}

public void arreter(){

System.out.println("Je m'arrete !!!");

}

public int rouler(int duree){

int distance = duree * 60;

System.out.println("Je roule sur une distance de "+distance+" .");

return distance;

}

}

II-B - Cr ation de la classe ProprietaireVoiture

Dans cette classe, on se contentera de cr er une m thode main(), afin de tester la classe Voiture.

Il faudra donc l'instancier, de mani re disposer d'une variable de type Voiture, que l'on testera.

En outre, je cr e une variable distanceTotale, de type int, qui servira -comme son nom l'indique- garder une trace

de la distance globale parcourue : ainsi je pourrais l'afficher avant de quitter l'application. Pour ce faire, il suffit juste

d'exploiter les diff rents retours aux appels la m thode rouler() de la Voiture pour mettre jour la distance globale :

  • 8 -

Les sources pr sent es sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de pr sentation

constitue une Suvre intellectuelle prot g e par les droits d'auteur. Copyright 2012 Laurent Bernab . Aucune reproduction, m me partielle, ne

peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous

encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.

http://laurent-bernabe.developpez.com/tutoriel/java/corrige-exercices-java-pour-enfants/

Corrections des exercices du livre "Java pour les enfants, les parents et les grand-parents" par Laurent Bernab

jacques_jean

Propri taire Voiture

public class ProprietaireVoiture {

public static void main(String[] args) {

// Cette variable gardera une trace de la distance totale parcourue.

int distanceTotale = 0;

// C'est ici que j'instancie la variable de type Voiture, qui sera testee.

Voiture maVoiture = new Voiture();

// Les appels des methodes sur la variable maVoiture.

maVoiture.demarrer();

distanceTotale = distanceTotale + maVoiture.rouler(10);

distanceTotale = distanceTotale + maVoiture.rouler(30);

maVoiture.arreter();

// Affichage ecran final (compte-rendu)

System.out.println("Distance totale parcourue : "+distanceTotale +" .");

}

}

II-C - Cr ation de la classe VoitureJamesBond

La classe VoitureJamesBond doit sous-classer la classe Voiture : donc il faudra utiliser le mot-cl "extends ".

VoitureJmaesBond h rite de Voiture

public class VoitureJamesBond extends Voiture {

// Inutile de recoder les methodes de la classe Voiture.

}

Pour rappel, si on laissait le code tel quel, on pourrait se contenter de remplacer toutes les cr ations et exploitations

d'instances de Voiture par des instances de VoitureJamesBond sans que le r sultat de l'application en soit chang .

Dans la classe ProprietaireVoiture, rien ne nous emp che alors d' crire :

Advertisement

ProprietaireVoitures utilise VoitureJamesBond

public class ProprietaireVoiture {

public static void main(String[] args) {

int distanceTotale = 0;

// La seule ligne qui modifiee

VoitureJamesBond maVoiture = new VoitureJamesBond();

maVoiture.demarrer();

distanceTotale = distanceTotale + maVoiture.rouler(10);

distanceTotale = distanceTotale + maVoiture.rouler(30);

maVoiture.arreter();

System.out.println("Distance totale parcourue : "+distanceTotale +" .");

}

}

Rien n'aurait chang pour autant au niveau du r sultat.

Mais on souhaite dans l' nonc que la classe VoitureJamesBond permette de rouler beaucoup plus vite qu'une simple

instance de Voiture : on nous demande donc de surcharger la m thode rouler(), pour ne plus simplement d pendre

du code d finit pour rouler() dans la classe Voiture.

On proc de donc comme on l'a fait pour la m thode rouler() de Voiture, mais en changeant la formule (j'ai aussi

chang le texte pour tre plus fantaisiste) :

  • 9 -

Les sources pr sent es sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de pr sentation

constitue une Suvre intellectuelle prot g e par les droits d'auteur. Copyright 2012 Laurent Bernab . Aucune reproduction, m me partielle, ne

peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous

encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.

http://laurent-bernabe.developpez.com/tutoriel/java/corrige-exercices-java-pour-enfants/

Corrections des exercices du livre "Java pour les enfants, les parents et les grand-parents" par Laurent Bernab

jacques_jean

VoitureJamesBond

public class VoitureJamesBond extends Voiture {

public int rouler(int duree) {

int distance = duree * 180;

System.out.println(":=D YAOUHHHHH !!! Je FONCE sur une distance de "+distance+" .");

return distance;

}

}

Maintenant, si l'on relance la m thode main() de la classe ProprietaireVoiture en changeant la cr ation d'une instance

de Voiture par une cr ation d'instance de VoitureJamesBond, les distances sont rallong es et le chauffeur semble

plus r joui.

II-D - Synth se

Ainsi dans ce corrig nous avons appris :

"

"

"

"

cr er une classe Voiture personnelle. Mais aussi cr er nos propres m thodes dans cette m me classe ;

utiliser cette classe dans une m thode main() ;

construire une classe fille (VoitureJamesBond) de la classe Voiture ;

personnaliser l'une des m thodes de la classe m re (Voiture) dans la classe fille . La m thode rouler() a

t surcharg e dans la classe VoitureJamesBond.

  • 10 -

Les sources pr sent es sur cette page sont libres de droits et vous pouvez les utiliser votre convenance. Par contre, la page de pr sentation

constitue une Suvre intellectuelle prot g e par les droits d'auteur. Copyright 2012 Laurent Bernab . Aucune reproduction, m me partielle, ne

peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous

encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.

http://laurent-bernabe.developpez.com/tutoriel/java/corrige-exercices-java-pour-enfants/

Corrections des exercices du livre "Java pour les enfants, les parents et les grand-parents" par Laurent Bernab

jacques_jean

III - Chapitre 4

III-A - La classe ConvertisseurTemperatures

J'ai ici d cid cette fois-ci d'inclure la m thode main() dans la classe ConvertisseurTemperatures elle-m me.

Sur Internet on trouve facilement les formules de conversion. Soient Tc la temp rature en degr s celcius et Tf la

temp rature en degr s Farenheit.

Formule de conversion d'une temp rature Celcius partir d'une temp rature Farenheit

Tc = (5/9) * (Tf - 32)

Formule de conversion d'une temp rature Farenheit partir d'une temp rature Celcius

Tf = (9/5) * Tc + 32

Il convient de traiter les diff rents cas possibles pour la m thode convertirTemperature :

"

"

"

l'utilisateur a employ le format 'C' ;

l'utilisateur a employ le format 'F' ;

l'utilisateur n'a pas du tout employ un format attendu.

J'ai alors pens l'utilisation d'une structure switch. Sachez que le cas default correspond toute valeur du switch

que nous n'avons pas choisi de traiter.

Par cons quent, on peut ici s'en servir pour retourner un message d'erreur (la fonction doit retourner un String,

profitons-en).

Par contre, ne pas oublier d'utiliser le mot-cl break pour chaque cas, hormis le cas default tant donn que c'est

le dernier traiter.

III-A-1 - La division enti re et la division r elle

Certains d'entre vous ont certainement entendu parler (ou appris) de la division euclidienne. Ce n'est pas compliqu .

Si vous calculez 6 / 3 : pas de probl me, vous obtiendrez un nombre entier. Et ce, que cela soit par vous-m me

ou l'aide d'un programme Java. En revanche, une op ration telle que 9 / 4 d pendra norm ment de la mani re

dont vous la coderez.

Pourquoi ? Parce que l'ordinateur peut aboutir sur deux valeurs :

"

"

ou bien 2,25 : qui est le r sultat auquel, priori, tout le monde s'attend ;

ou bien 2 : qui est le quotient (ou simple valeur enti re) de la division.

Advertisement

Qua...