Perfectionnement d'un programme ?
Bonjour,
Dans le cadre de ma formation en autodidacte sur JAVA, j'aimerais vos conseils sur un programme que je viend de créer suite à un TP mais qui lui présente beaucoup de défaut a mon goût :mouarf:
Donc je cherche des personnes motivées pour voir ce qui semble améliorable au sein de ma programmation voir même une éventuelle modification complète mais vraiment en dernier secours !
Le but étant bien sûr de voir mes propres fautes commises ou amélioration que j'aurais pu apporter voir d' éventuels bugs / défauts que je n'avais pas remarquer à celui-ci et ainsi partir sur de bonne base !
Remarque : Je n'ai vu actuellement que 6 chapitres qui se résume à les boucles, les conditions, les variables et opérateurs
Voici donc le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
| import java.util.Scanner;
public class ConvertCelsiusEnFahrenheit {
public static void main(String[] args) {
//initialisation des variables
char reponse = 'O';
// Affichage du Titre
System.out.println(" -------------------------------------------------------");
System.out.println("| CONVERSION DEGRES CELSIUS ET DEGRES FAHRENHEIT |");
System.out.println(" -------------------------------------------------------");
do{
Scanner sc1 = new Scanner(System.in);
System.out.println("Veuillez indiquer à partir de quelle température, on commence la conversion :");
// récupérer ce que vous avez saisi et ensuite de l'afficher
String Tdepart = sc1.nextLine();
Scanner sc2 = new Scanner(System.in);
System.out.println("Veuillez indiquer jusqu'à quelle température, on arrête la conversion :");
// récupérer ce que vous avez saisi et ensuite de l'afficher
String Tmax = sc2.nextLine();
Scanner sc3 = new Scanner(System.in);
System.out.println("Veuillez indiquer le pas de conversion :");
// récupérer ce que vous avez saisi et ensuite de l'afficher
String Pas = sc3.nextLine();
Scanner sc = new Scanner(System.in);
System.out.println("Si votre imprimante est prête, tapez O, sinon tapez N");
String Imprimante = sc.nextLine();
char ReponseImprimante = Imprimante.charAt(0);
while(ReponseImprimante != 'O' && ReponseImprimante !='o' && ReponseImprimante != 'N' && ReponseImprimante != 'n')
{
System.out.println("\nVeuillez suivre les instructions ci-dessous : ");
System.out.println("\nSi vous êtes prêt, tapez O, sinon tapez N");
new Scanner(System.in);
System.out.println("\nEst-elle prête ?");
String strx = sc.nextLine();
System.out.println("Vous avez saisi : " + Tmax.charAt(0));
ReponseImprimante = strx.charAt(0);
}
if (ReponseImprimante == 'O' || ReponseImprimante =='o')
System.out.println("imprimante OK\n");
else if (ReponseImprimante =='n' || ReponseImprimante =='N' ) {
System.out.println("Veuillez préparer votre imprimante ! ");
while(ReponseImprimante != 'O' && ReponseImprimante !='o') {
Scanner sc10 = new Scanner(System.in);
System.out.println("\nSi vous êtes prêt, tapez O");
String str10 = sc10.nextLine();
ReponseImprimante = str10.charAt(0);
}
System.out.println("imprimante OK\n");
}
System.out.println(" TABLE DE CONVERSION DE CELSIUS / FAHRENHEIT");
System.out.println(" -----------------------------------------------");
System.out.println("\tCELSIUS \t | \tFAHRENHEIT");
System.out.println(" -----------------------------------------------");
float Vmax = (Float.parseFloat(Tmax)-Float.parseFloat(Tdepart))/Float.parseFloat(Pas) ;
// Calcul Aide ----> 25--110/10 = 13.5 (Vmax)
if (Vmax != 0 ) {
do{
double Fahrenheit = ( ( 9* Float.parseFloat(Tdepart)) / 5 ) + 32;
Fahrenheit = arrondi(Fahrenheit, 2);// pour 2 chiffres après la virgule... etc.
System.out.println("\t "+Tdepart+" \t\t | \t "+Fahrenheit);
float test = Float.parseFloat(Tdepart) + Float.parseFloat(Pas) ;
// Calcul Aide ----> (test) 15 = 25 - 10
Tdepart = String.valueOf(test);
}while(--Vmax >= 0);
}
else
System.out.println("Aucune conversion a effectuer");
System.out.println("\nSouhaitez-vous éditer une autre table ?(O/N)");
reponse = sc.nextLine().charAt(0);
}while(reponse == 'O' || reponse =='o');
System.out.println("A bientôt");
}
public static double arrondi(double A, int B) {
return (double) ( (int) (A * Math.pow(10, B) + .5)) / Math.pow(10, B);
}
} |
En espérant avoir quelque candidat malgré je ne sais pas trop si se genre de manipulation / pratique ce fait sur le forum 8O
Merci d'avance en tout cas a ceux qui me fourniront une aide :king::yaisse2::king: