Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.InputMismatchException;
- import java.util.Scanner;
- public class Main {
- /**
- * @param args
- */
- // Méthode d'entrée
- public static void main(String[] args) {
- // Le scanner... classique je pense que t'as compris le principe
- Scanner scanner = null;
- System.out.println(" ------------------------------------------------------------------------");
- System.out.println("| CONVERSION DEGRES CELSIUS ET DEGRES FAHRENHEIT |");
- System.out.println(" ------------------------------------------------------------------------");
- // Toujours initialiser une variable si possible, permet d'éviter un NullPointerException
- String reponse = "";
- do {
- // On initialise dans le do, sinon ne redemande pas de retaper les valeurs en cas d'erreur
- scanner = new Scanner(System.in);
- double debut = 0;
- int fin = 0;
- int pas = 0;
- // Le try... catch permet de gérer les erreurs, ici on ne tape pas ce qu'on a prévu
- // Au lieu d'avoir une grosse erreur, on gère la chose et on recommence :)
- System.out.println("A partir de :");
- try {
- debut = scanner.nextDouble();
- } catch (InputMismatchException e) {
- System.out.println("Erreur de saisie. Retour au début du programme !");
- continue;
- }
- System.out.println("Jusqu'à :");
- try {
- fin = scanner.nextInt();
- } catch (InputMismatchException e) {
- System.out.println("Erreur de saisie. Retour au début du programme !");
- continue;
- }
- System.out.println("Par pas de :");
- try {
- pas = scanner.nextInt();
- if (pas <= 0) {
- throw new InputMismatchException();
- }
- } catch (InputMismatchException e) {
- System.out.println("Erreur de saisie. Retour au début du programme !");
- continue;
- }
- System.out.println("Prêt à afficher le tableau ? Taper O si oui.");
- String ready = "";
- try {
- ready = scanner.next();
- } catch (InputMismatchException e) {
- System.out.println("Erreur de saisie. Retour au début du programme !");
- continue;
- }
- // Maintenant j'ai tout ce qu'il faut je vais attaquer les calculs
- // Par convention on fait toujours le test constante = variable, cela permet d'éviter les erreurs classiques
- // Ici le IgnoreCase permet de ne pas tenir de la casse
- if ("O".equalsIgnoreCase(ready)) {
- // Je crée un objet Calcul qui va s'occuper des calculs
- Calcul calcul = new Calcul();
- // Je lance le calcul pour chaque temperature
- for (double i=debut;i<=fin;i+=pas) {
- calcul.calculerTemperature(i);
- }
- }
- System.out.println("Voulez-vous continuer ? Pour quitter tapez N");
- try {
- reponse = scanner.next();
- } catch (InputMismatchException e) {
- System.out.println("Erreur de saisie. Sortie du programme...");
- System.exit(0);
- }
- } while (!"N".equalsIgnoreCase(reponse));
- System.out.println("Au revoir !");
- }
- }
Add Comment
Please, Sign In to add comment