Conversion Celcius Fahrenheit

But : Ecrire une application avec packages, isoler les différentes parties du code.
  1. Convertir des degrés Fahrenheit en degrés Celcius

    Formule de conversion :
    °C = 5/9 * (°F - 32)

    La valeur en degrés Fahrenheit à convertir doit être donnée en paramètre au programme :
    java Conversion 80
    80°F -> 26.6°C
    Le résultat est attendu avec un seul chiffre derrière la virgule. Vous pouvez utiliser différentes manières : String.format(); par le calcul ( par exemple r = ((int)resultat*10)/10.0 ) ; Math.round() ; java.text.DecimalFormat...

    Le code doit gérer les erreurs d'entrée :
    - le programme a besoin d'un seul paramètre ;
    - ce paramètre doit représenter un entier.
    En cas d'erreur, le programme doit afficher un message expliquant l'erreur et se terminer.

    Le code doit se trouver dans les packages spécifiés plus bas.
    L'implémentation est constituée de 3 méthodes static, sans créer aucune instance.

    Utiliser la hiérarchie de fichiers suivante :
    tp2-conversion
        ├── bin                         // contient les .class générés par javac
        ├── apidoc                      // contient la doc html générée par javadoc
        ├── src
        │   └── conversion              // package conversion
        │       ├── model               // package conversion.model
        │       │   ├── Degres.java     // contient public static float fahrenheitToCelsius(int f)
        │       │   └── package.html
        │       ├── utils               // package conversion.utils
        │       │   ├── Format.java     // contient public static float uneDecimale(float x)
        │       │   └── package.html
        │       ├── Conversion.java     // contient public static void main(String[] args)
        │       ├── overview.html
        │       └── package.html
        ├── tests                       // Contient les tests unitaires
        │   └── conversion
        │       ├── model
        │       │   └── DegresTest.java
        │       ├── utils
        │       │   └── FormatTest.java
        │       └── ConversionTestSuite.java
        ├── compile                     // script contenant la commande javac
        ├── doc                         // script contenant la commande javadoc
        ├── run                         // script contenant la commande java
        ├── test-compile                // script contenant la commande javac pour JUnit
        ├── test-run                    // script contenant la commande java pour JUnit
        ├── test-suite-compile          // script contenant la commande javac pour la suite de tests
        └── test-suite-run              // script contenant la commande java pour la suite de tests
    
    
    Les instructions utilisées en console (à adapter à vos IDEs) depuis le répertoire tp2-conversion/
    javac -d bin -sourcepath src src/conversion/Conversion.java
    java -classpath bin conversion.Conversion 70
    javadoc :
    javadoc \
        -sourcepath src \
        -classpath bin \
        -html5 \
        -d apidoc \
        -charset utf8 \
        -encoding utf8 \
        -docencoding utf8 \
        -overview src/conversion/overview.html \
        -subpackages \
        conversion
    
    Note : les \ indiquent sous linux que la même instruction se poursuit sur la ligne suivante.
    Sur une seule ligne, l'instruction est : javadoc -sourcepath src -classpath bin ...
  2. Au papier ou par logiciel, faire le diagramme de séquence représentant les classes, et les appels des méthodes dans l'exécution normale (pas d'erreur en entrée).
  3. Faire la documentation en utilisant la syntaxe javadoc et générer la doc avec l'outil javadoc.
  4. Ecrire des tests unitaires pour les classes Degres et Format.
    Voir la page JUnit5 pour les scripts de compilation en ligne de commande.