Guest User

Untitled

a guest
Jun 24th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.95 KB | None | 0 0
  1. import java.util.InputMismatchException;
  2. import java.util.Scanner;
  3.  
  4.  
  5. public class Main {
  6.  
  7. /**
  8. * @param args
  9. */
  10. // Méthode d'entrée
  11. public static void main(String[] args) {
  12. // Le scanner... classique je pense que t'as compris le principe
  13. Scanner scanner = null;
  14.  
  15. System.out.println(" ------------------------------------------------------------------------");
  16. System.out.println("| CONVERSION DEGRES CELSIUS ET DEGRES FAHRENHEIT |");
  17. System.out.println(" ------------------------------------------------------------------------");
  18.  
  19. // Toujours initialiser une variable si possible, permet d'éviter un NullPointerException
  20. String reponse = "";
  21.  
  22. do {
  23.  
  24. // On initialise dans le do, sinon ne redemande pas de retaper les valeurs en cas d'erreur
  25. scanner = new Scanner(System.in);
  26.  
  27. double debut = 0;
  28. int fin = 0;
  29. int pas = 0;
  30.  
  31. // Le try... catch permet de gérer les erreurs, ici on ne tape pas ce qu'on a prévu
  32. // Au lieu d'avoir une grosse erreur, on gère la chose et on recommence :)
  33. System.out.println("A partir de :");
  34. try {
  35. debut = scanner.nextDouble();
  36. } catch (InputMismatchException e) {
  37. System.out.println("Erreur de saisie. Retour au début du programme !");
  38. continue;
  39. }
  40.  
  41. System.out.println("Jusqu'à :");
  42. try {
  43. fin = scanner.nextInt();
  44. } catch (InputMismatchException e) {
  45. System.out.println("Erreur de saisie. Retour au début du programme !");
  46. continue;
  47. }
  48.  
  49. System.out.println("Par pas de :");
  50. try {
  51. pas = scanner.nextInt();
  52. if (pas <= 0) {
  53. throw new InputMismatchException();
  54. }
  55. } catch (InputMismatchException e) {
  56. System.out.println("Erreur de saisie. Retour au début du programme !");
  57. continue;
  58. }
  59.  
  60. System.out.println("Prêt à afficher le tableau ? Taper O si oui.");
  61. String ready = "";
  62. try {
  63. ready = scanner.next();
  64. } catch (InputMismatchException e) {
  65. System.out.println("Erreur de saisie. Retour au début du programme !");
  66. continue;
  67. }
  68.  
  69. // Maintenant j'ai tout ce qu'il faut je vais attaquer les calculs
  70.  
  71. // Par convention on fait toujours le test constante = variable, cela permet d'éviter les erreurs classiques
  72. // Ici le IgnoreCase permet de ne pas tenir de la casse
  73. if ("O".equalsIgnoreCase(ready)) {
  74. // Je crée un objet Calcul qui va s'occuper des calculs
  75. Calcul calcul = new Calcul();
  76. // Je lance le calcul pour chaque temperature
  77. for (double i=debut;i<=fin;i+=pas) {
  78. calcul.calculerTemperature(i);
  79. }
  80. }
  81.  
  82.  
  83.  
  84. System.out.println("Voulez-vous continuer ? Pour quitter tapez N");
  85. try {
  86. reponse = scanner.next();
  87. } catch (InputMismatchException e) {
  88. System.out.println("Erreur de saisie. Sortie du programme...");
  89. System.exit(0);
  90. }
  91. } while (!"N".equalsIgnoreCase(reponse));
  92.  
  93. System.out.println("Au revoir !");
  94.  
  95. }
  96.  
  97. }
Add Comment
Please, Sign In to add comment