titre |
---|
TP n° 2 - Conversion Fahrenheit - Celsius ...EN COURS D"ADAPTATION... |
- Java_I
- The Java™ Tutorials (Getting Started et Learning the Java Language)
Thèmes du TP :
- Utilisation de BlueJ
- Java impératif
- Exceptions
Ce TP est consacré à une application Java de conversion des degrés Fahrenheit (Angleterre) en degrés Celsius (reste de l'Europe!).
C'est dans cette classe qu'est effectuée la conversion. Cette classe est une application car elle contient la méthode :
public static float fahrenheitEnCelsius(int f) { //..
Compléter les 2 méthodes de cette classe
Contraintes :
- La formule de conversion : °C = 5/9 * (°F -32)
- Les valeurs en degrés Fahrenheit à convertir sont données sur la ligne de commande.
- Ce sont des valeurs entières.
- Le résultat est attendu avec un seul chiffre derrière la virgule, obtenu uniquement par le calcul. ( par exemple r = ((int)resultat*10)/10.0 )
Exécution sous Bluej :
"clic droit" sur le diagramme de la classe "FahrenheitCelsius" , choisir l'item "void main(String[] args)", introduire des données comme ci dessous par exemple ...
- Les arguments de la ligne de commande sont des chaînes (String), donc pour effectuer la conversion il faut les convertir en entiers (cf. static int parseInt(String s) de la classe Integer du paquetage java.lang)
- Pour les tableaux, le champ length contient le nombre d'éléments du tableau (ATTENTION le premier indice d'un tableau est 0).
- Attention : la division entre 2 entiers est une division entière . Exemple 5/9 = 0 et 9/5 = 1
Lire le tutoriel "Unit Testing in BlueJ" sur les classes de tests sous Bluej et un exemple est donné dans le projet...
Descendre maintenant dans le paquetage "question2" où l'on découvre une autre version de la classe "FahrenheitClesius".
Développez une nouvelle version de cette classe en reprenant la conversion de la question 1 et en ajoutant la gestion de l'exception "NumberFormatException".
L'exception "NumberFormatException" est levée lors d'une mauvaise entrée sur la ligne de commande i.e. d'une entrée autre qu'une chaîne convertible en "int"
Exemple : {"10","ZZ","100"} engendre :
For input string: "ZZ" est généré par l'appel de e.getMessage() . e étant le nom de l'Exception soit System.out.println("error : " + e.getMessage());
Aide au comportement attendu :
L'applette de l'énoncé devrait s'exécuter, au
dessus de cette ligne et présenter une interface,
attention certains navigateurs pour des raisons de
sécurité ne le permettent plus.
Il vous faut utiliser un outil du JDK, depuis le répertoire de ce tp dans une console, exécuter cette commande:
>appletviewer tp2.html ou bien appletviewer http://jfod.cnam.fr/progAvancee/tp2/tp2.html
sous windows > set PATH="c:/ installation de bluej /jdk/bin";%PATH%
ou bien modifier la variable d'environnement
>appletviewer http://jfod.cnam.fr/progAvancee/tp2/tp2.html
>appletviewer http://jfod.cnam.fr/progAvancee/tp2/tp2.html