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
Publicité
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.
Publicité
- 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() :
Publicité
*) 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 :
Publicité
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.
Publicité
Qua...