Convertir String en un instruction de java

Fermé
inconnu - 28 mai 2008 à 10:52
 inconnu - 28 mai 2008 à 20:34
Bonjour,
je veux faire un programme calculatrice simple a l'aide du java mais les composants graphiques comme "JOptionPane" ou
"JTextField" sont de type chaine de caractère je ne veux pas traiter chaque signe dans un procédure différent
alors comment je peut convertir cette chaine en un instruction de java
A voir également:

1 réponse

sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 723
28 mai 2008 à 10:57
Salut,

Tu veux dire tonTextField.getText() te retourne une chaîne de caractère (= la valeur dans le text field). Il existe des convertisseurs String => Integer, par ex:

String s = "1";
int i = Integer.parseInt(s);

++
0
s="(1+2)/5" par exemple
0
sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 723 > inconnu
28 mai 2008 à 11:19
Aaaah, tu veux faire vraiment calculette....

C'est plus compliqué, dans ce cas, car il faut parser le String et le décomposer dans un arbre avec des valeurs numériques ou des opérateurs pour les feuilles... Cela peut devenir relativement compliqué si tu veux gérer également la priorité des opérands, les parenthèses etc.

Tout dépend de la complexité de ton projet, si ta calculette est sophistiquée, mieux vaut essayer d'utiliser une bibliothèque open source existante, e.g. antlr (mais si c'est pour un truc simple, passer par antlr est la même chose qu'utiliser un canon pour tuer une mouche).

++
0
inconnu > sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010
28 mai 2008 à 11:47
j'ai pensé d'une autre solution si le compilateur java exécuter un autre programme java sous mon programme calculatrice cela signifie que dans mon programme originale je créer un fichier nommé x.java qui contient le nom de classe, la fonction main de type entier et dans cette fonction on peut écrire cette chaine alors maintenant il ne reste que compiler et exécuter ce programme a partir du programme originale et a la fin on peut effacer x.java et x.class mais comment on peut exécuter en fichier exécutable a partir du java?
0
sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 723 > inconnu
28 mai 2008 à 12:52
Euh, je ne capte pas trop ce que tu veux dire...

Pour exécuter un exe depuis java, tu peux passer par Runtime.getRuntime().exec() et éventuellement lui passer %SystemRoot%\system32\calc.exe comme paramètre (mais je ne pense pas que la calculatrice de Windows accepte des paramètres...)
0
inconnu > sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010
28 mai 2008 à 20:34
merci beaucoup
0