Problème fonction récupère caractère dans chaine
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:
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");
}
} |