URGENT AIDEZ MOI SVP

Fermé
cs_Aymanovitch Messages postés 25 Date d'inscription mercredi 24 novembre 2010 Statut Membre Dernière intervention 17 janvier 2014 - 20 avril 2011 à 22:23
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 20 avril 2011 à 22:33
salut tout le monde j'ai un petit problème !!!
Je suis entrain de faire une calculatrice d'une expression arithmétique simple en JAVA.
j'ai réussi à faire l'analyse de l'expression mais il me reste à faire les calculs.
J'ai pensé à parcourir l'expression(en String) et lorsque je trouve un opérateur '*' ou '/' ou '+' ou '-' je fais l'opération et je remplace les entiers et l'opérateur que j'ai utilisé par le résultat dans mon expression.

Problème n°1 :je dois recommencer tant qu'il y a encore des opérateurs dans mon expression. Le problème c'est que je n'arrive pas à récupérer la nouvelle expression et j'ai exactement le même problème si j'ai deux opérateurs identiques.
Je ne sait vraiment pas quoi faire et je suit réellement bloqué.

Pour que vous puissiez comprendre où j'en suis et mon déroulement, vous pouvez trouver ci-joint une partie de mon code. Bien évidement si quelqu'un à une bien meilleure idée concernant le code, soit en l'améliorant soit en le changeant, je suis bien évidement ouvert à d'autres proposition.

Dans l'espoir que quelqu'un puisse m'aider, je vous remercie d'avance de votre aide!!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class calcul_expression {



public void calcul(int [] ENTIER, char [] operator,String expression){

//le tableau ENTIER contiet tous les entiers de notre expression
//le tableau operateur contient tous les operateur de notre expression
int j = 0;
int [] tmp = new int [10]; 
int [] tmp1 =  new int [10]; 
int m = 0;
int n = 0 ;
int resultat = 0 ;
String res = null;

for(int i = 0;i<expression.length();i++){

if(expression.charAt(i)=='*'){

j = i ;//on cherche l'indice de l'operateur '*' dans un notre expression.
tmp[m] = j;
m++;

}
}


   for(int i=0;i<operator.length;i++){

if(operator[i]=='*'){

 j = i;	
 
tmp1[n] = j;
 n++;
 
}
resultat = ENTIER[j] * ENTIER[j+1];//je fais la multiplication 
res = String.valueOf(resultat);	//je fait la conversion en String 
    
   }expression = expression.substring(0,tmp[0]-1) + res;//je concatène les deux string en suppriment les elément que j'ai utiliser pour la multiplication
   System.out.println("l'expression est " +expression);//on fait l'affichage

}
public static void main(String[] args) throws IOException{

String expression;
System.out.println("Entrez l'operation que vous voulez effectuer");
BufferedReader Buf = new BufferedReader(new InputStreamReader (System.in));
expression = Buf.readLine();
}
}

1 réponse

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
20 avril 2011 à 22:33
Salut,

Codes-Sources est un site communautaire où des bénévoles apportent de l'aide à ceux qui le demande. Nous demandons pas grand chose en retour : juste un peu de reconnaissance et de respect.
Venir poser une question sur le forum en disant que c'est urgent est un manque de respect : qu'est-ce que ca t'apporte de préciser que c'est urgent ? Tu crois qu'en disant cà tu seras prioritaire par rapport aux autres membres ? Tu crois qu'on va se dépêcher à te répondre parce que tu es dans l'urgence ?

Et bien non, bien au contraire ! Dire que c'est urgent ne nous donne vraiment pas envie d'aider. Nous avons tous nos tracas quotidiens, avec nos patrons qui nous disent qu'il leur faut telle fonctionnalité pour demain matin à 8 h (si ce n'est pour la veille). Alors je traque tout ceux qui demande de l'aide de façon urgente histoire de bien leur faire comprendre qu'on y gagne rien à aider les gens, alors le moins que tu peux espérer, c'est de trouver quelqu'un qui veuille bien t'aider, l'urgence elle n'est que pour toi, et surtout pas pour nous !

Sujet clos.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
Rejoignez-nous