Question Java
Résolu
jaja360
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
jaja360 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
jaja360 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite faire une classe qui trace un graphique à partir d'une fonction (polynomiale) qu'on lui donne. Ma classe marche bien sauf que je veux que dans une auutre classe il y ait un JTextField dans lequel l'utilisateur entre la fonction (par exemple 3x+4) qu'il souhaite voir s'Afficher dans le graphique. Dans ma classe graphique, j'ai une méthode qui prend plein de valeurs de x et qui calcule le y et trace un point à chaque fois. la ligne qui trouve le 'y' est simplement "y = x+4" par exemple. Est-il possible de convertir l'entrée de le l'utilisateur (un String) en "ligne de code" ?
Merci d'avance.
Je souhaite faire une classe qui trace un graphique à partir d'une fonction (polynomiale) qu'on lui donne. Ma classe marche bien sauf que je veux que dans une auutre classe il y ait un JTextField dans lequel l'utilisateur entre la fonction (par exemple 3x+4) qu'il souhaite voir s'Afficher dans le graphique. Dans ma classe graphique, j'ai une méthode qui prend plein de valeurs de x et qui calcule le y et trace un point à chaque fois. la ligne qui trouve le 'y' est simplement "y = x+4" par exemple. Est-il possible de convertir l'entrée de le l'utilisateur (un String) en "ligne de code" ?
Merci d'avance.
A voir également:
- Question Java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
Tu peux utiliser la méthode java.lang.String) replaceAll pour changer les noms de variables par leur valeurs.
Ensuite tu peux utiliser un ScriptEngineManager en JavaScript par exemple, pour faire l'évaluation du calcul.
Voici un petit exemple :
Ensuite tu peux utiliser un ScriptEngineManager en JavaScript par exemple, pour faire l'évaluation du calcul.
Voici un petit exemple :
import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public class Script { private final static ScriptEngine JavaScript = new ScriptEngineManager().getEngineByName("JavaScript"); public static double eval(String str,String[] var,double...val) { for (int i=0; i<var.length && i<val.length; i++) str = str.replaceAll(var[i], String.valueOf(val[i])); try { return (Double) JavaScript.eval(str); } catch (Exception e) { System.err.println(e); return Double.NaN; } } public static void main(String...args) { String str = "5*x-2*y"; String[] var = {"x","y"}; System.out.println(eval(str,var,1,1)); // 3.0 System.out.println(eval(str,var,1,2)); // 1.0 System.out.println(eval(str,var,2,1)); // 8.0 System.out.println(eval(str,var,2,2)); // 6.0 } }