Bonjour je dois réaliser une fonction qui permet de récupérer une chaine de caractère. cette chaine de caractère est une opération " 5 + 6 = x" la fonction doit détecter les nombre et récupérer le 5 le 6 et le + pour réaliser une opération et retourner le x c'est a dire le résultat.
J'ai déjà réalisé un morceau de code mais je n'arrive pas récupérer les caractère mon programme me dit : java.lang.NumberFormatException
Je ne sais pas comment résoudre le problème. Merci de m'aidé un peu pour être débloqué.
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 package Mes_Classes_Maths; public class C_Maths { public String Fonction_Interprète(String ChaineCaractère){ String y = null; String k = null; String Opérateur = null; String x = null; int iRechercheEspace = 1; String Chaine = ChaineCaractère; int iTampon = 0; String sTampon = Chaine; int compteur = 0; String TableauChaine[] = null; while (iRechercheEspace >= 0 ){ iRechercheEspace = sTampon.indexOf("/"); if(iRechercheEspace >= 0 ){ TableauChaine[compteur] = sTampon.substring(iTampon,iRechercheEspace - 1); sTampon = Chaine.substring(iRechercheEspace+1, Chaine.length()); }else{ TableauChaine[compteur]= sTampon; } compteur ++; } System.out.println("d"+TableauChaine[1] ); //y = ChaineCaractère.substring(1); //Opérateur = ChaineCaractère.substring(2); //k = ChaineCaractère.substring(4); System.out.println( y + k + Opérateur); float y1 = Float.parseFloat(y); float k1 = Float.parseFloat(k); float x1 = 0; //System.out.println (y1 +" "+ k1+" "+ Opérateur); //System.out.println (Opérateur); if (Opérateur == "+"){ x1 = y1 + k1; x =Float.toString(x1); } if ((Opérateur == "-")&& (y1 >= k1)){ x1 = y1 - k1; x = Float.toString(x1); }else if((Opérateur == "-")&& (y1 <= k1)){ x1 = k1 - y1; x = Float.toString(x1); } if (Opérateur == "x"){ x1 = y1 * k1; x = Float.toString(x1); } if (Opérateur == "/"){ x1 = y1 / k1; x = Float.toString(x1); } else{ System.out.println("Données rentrées invalides. Veuillez recommencer"); } System.out.println ("Le résultat est :" + x); return null ; } public static void main(String[] args) { C_Maths Interprète1 = new C_Maths(); Interprète1.Fonction_Interprète("5 + 4 = x"); } }
Partager