<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-299137885116263372</id><updated>2024-10-24T22:26:22.708-07:00</updated><category term="api"/><category term="calcul"/><category term="calculer"/><category term="eval"/><category term="java"/><category term="javascript"/><category term="méthode"/><category term="split"/><title type='text'>Programmation en java</title><subtitle type='html'>Programmation java : astuces, truc, tuto, cours, api,...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://programmation-en-java.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/299137885116263372/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://programmation-en-java.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-299137885116263372.post-1729383530490952321</id><published>2010-01-14T16:23:00.000-08:00</published><updated>2010-01-14T16:23:50.619-08:00</updated><title type='text'>Google prend Sarko pour un trou du cul du web</title><content type='html'>Rien à voir avec Java, mais je trouvais l&#39;info  intéressante/marrante donc je vous la transmet ;) (surtout que ça fait déjà depuis juillet que ça existe et qu&#39;on en parle jamais !)&lt;br /&gt;&lt;br /&gt;Le lien : &lt;a href=&quot;http://un-site.blogspot.com/2010/01/google-prend-sarko-pour-un-trou-du-cul.html&quot;&gt;Google prend Sarko pour un trou de cul du web&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://programmation-en-java.blogspot.com/feeds/1729383530490952321/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://programmation-en-java.blogspot.com/2010/01/google-prend-sarko-pour-un-trou-du-cul.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/299137885116263372/posts/default/1729383530490952321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/299137885116263372/posts/default/1729383530490952321'/><link rel='alternate' type='text/html' href='http://programmation-en-java.blogspot.com/2010/01/google-prend-sarko-pour-un-trou-du-cul.html' title='Google prend Sarko pour un trou du cul du web'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-299137885116263372.post-2294625625175430306</id><published>2010-01-04T02:05:00.000-08:00</published><updated>2010-01-04T02:34:20.861-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="api"/><category scheme="http://www.blogger.com/atom/ns#" term="calcul"/><category scheme="http://www.blogger.com/atom/ns#" term="calculer"/><category scheme="http://www.blogger.com/atom/ns#" term="eval"/><category scheme="http://www.blogger.com/atom/ns#" term="java"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="méthode"/><category scheme="http://www.blogger.com/atom/ns#" term="split"/><title type='text'>Eval en java - Evaluer des calculs</title><content type='html'>En javascript, il existe une méthode eval(String); qui permet d&#39;évaluer un string comme étant le nom d&#39;une méthode, un calcul ou autre chose. &lt;br /&gt;&lt;br /&gt;Par exemple : &lt;br /&gt;&lt;code&gt;alert(eval(&quot;3+4&quot;)); &lt;/code&gt; affiche la boite d&#39;alerte contenant 7&lt;br /&gt;&lt;br /&gt;Mais en java, ce n&#39;est pas aussi simple, pour évaluer un calcul entré par l&#39;utilisateur par exemple, il faut crée soit même une méthode qui analyse le string et qui en calcul le résultat !&lt;br /&gt;&lt;br /&gt;Voici quelques pistes pour vous aider à faire une méthode de ce genre. Il existe plusieurs façon de le faire mais en voici une (je ne sais pas si c&#39;est la meilleur) : &lt;br /&gt;&lt;br /&gt;Créer une méthode (appelé eval par exemple) : &lt;br /&gt;&lt;code&gt;public double eval(String s){&lt;br /&gt; //Contenu ici&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ensuite, une première partie de cette méthode prendra le contenu de la parenthèse et la remplacera par son chiffre. Pour isoler les parenthèses vous pouvez utiliser un split ou un substring avec un indexOf&lt;br /&gt;Imaginons que vous avez isoler votre paranthèse de facon à ce que &lt;span style=&quot;font-style:italic;&quot;&gt;txtAvt&lt;/span&gt; contienne ce qu&#39;il y a avant la parenthèse, &lt;i&gt;txtApres&lt;/i&gt; ce qu&#39;il y a après et &lt;i&gt;parenthese&lt;/i&gt; le &lt;u&gt;contenu&lt;/u&gt; de la parenthese. &lt;br /&gt;&lt;br /&gt;Vous pouvez alors faire : &lt;br /&gt;&lt;code&gt;return eval(txtAvt+eval(parenthese).toString()+txtApres)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ensuite (s&#39;il n&#39;y a pas de parenthèse la méthode continue a s&#39;exécuter jusqu&#39;à arriver sur un autre return) il faut couper le string (avec un split) selon les sommes et les différences : &lt;br /&gt;&lt;i&gt;En effet, si on a le calcul 3/2+5*3 il faut d&#39;abord faire 3/2 | (5*3)&lt;/i&gt;&lt;br /&gt;Si vous avez un String[] somme qui contient par exemple toutes les sommes faites une boucle qui ajoute eval(somme[i]); à une variable (result par exemple) et retournez la variable (result) à la fin de la boucle : &lt;br /&gt;&lt;code&gt;&lt;br /&gt;double result = 0;&lt;br /&gt;for(int i=0;i&amp;lsaquo;somme.length;i++){&lt;br /&gt;  result +=somme[i];&lt;br /&gt;}&lt;br /&gt;return result;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Même procédé pour la multiplication et la division&lt;br /&gt;&lt;br /&gt;Et la fin de votre méthode ne sera exécutée que s&#39;il n&#39;y a plus de + - * / et () dans votre string donc vous pouvez faire un Double.parseDouble(s);  si s représente le string à convertir. N&#39;oubliez pas de faire un try{ ... } catch(NumberFormatException e){ ... } de manière a prévenir des erreurs.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note supplémentaire &lt;/b&gt;&lt;br /&gt;Attention, le split avec le fois (*) et le plus + ne fonctionne pas correctement car le split prend en compte les expressions régulières. Une solution simple est de faire &lt;br /&gt;&lt;code&gt;s.replace(&#39;+&#39;,&#39;P&#39;).split(&quot;P&quot;); &lt;/code&gt;&lt;br /&gt;au lieu de &lt;br /&gt;&lt;code&gt;s.split(&quot;+&quot;);&lt;/code&gt;&lt;br /&gt;(mais il ne faut pas que s contiennent d&#39;autres caractères &#39;P&#39; !)&lt;br /&gt;&lt;br /&gt;et &lt;code&gt;s.replace(&#39;*&#39;,&#39;x&#39;).split(&quot;x&quot;); &lt;/code&gt;&lt;br /&gt;au lieu de &lt;br /&gt;&lt;code&gt;s.split(&quot;x&quot;);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Vous pouvez aussi faire un s.replace(&#39;,&#39;,&#39;.&#39;); pour que les virgules soient correctement interprétés par Double.parseDouble(s) ! (sinon 3,2345 renvoi une erreur car il faut écrire 3.2345)</content><link rel='replies' type='application/atom+xml' href='http://programmation-en-java.blogspot.com/feeds/2294625625175430306/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://programmation-en-java.blogspot.com/2010/01/eval-en-java-evaluer-des-calculs.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/299137885116263372/posts/default/2294625625175430306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/299137885116263372/posts/default/2294625625175430306'/><link rel='alternate' type='text/html' href='http://programmation-en-java.blogspot.com/2010/01/eval-en-java-evaluer-des-calculs.html' title='Eval en java - Evaluer des calculs'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>