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

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 : Sélectionner tout - Visualiser dans une fenêtre à part
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


Merci d'avance en tout cas a ceux qui me fourniront une aide