Correction d'un bug de la calculatrice : quand un joueur fait un smiley qui commence par =

This commit is contained in:
Marc Baloup 2015-01-02 11:50:44 -05:00
parent 5fd477dbc7
commit 3398c29735
2 changed files with 10 additions and 2 deletions

View File

@ -55,6 +55,10 @@ public class CalculatorManager implements Listener {
event.getPlayer().sendMessage(ChatColor.GRAY+"res"+i+ChatColor.RESET+" : "+ChatColor.GRAY+el.expression+ChatColor.RESET+"="+ChatColor.GRAY+el.value); event.getPlayer().sendMessage(ChatColor.GRAY+"res"+i+ChatColor.RESET+" : "+ChatColor.GRAY+el.expression+ChatColor.RESET+"="+ChatColor.GRAY+el.value);
i--; i--;
} }
if (history.get(event.getPlayer()).size() == 0)
{
event.getPlayer().sendMessage(ChatColor.RED+"Utilisez le symbole "+ChatColor.GRAY+"="+ChatColor.RED+" dans le chat pour faire un calcul mathématique");
}
} }
else else
{ {
@ -80,7 +84,7 @@ public class CalculatorManager implements Listener {
} }
catch (IllegalArgumentException e) { catch (IllegalArgumentException e) {
event.getPlayer().sendMessage(ChatColor.RED+e.getMessage()); event.getPlayer().sendMessage(ChatColor.RED+e.getMessage());
event.getPlayer().sendMessage(ChatColor.RED+"Utilisez le symbole "+ChatColor.GRAY+"="+ChatColor.RED+" dans le chat pour faire un calcul mathématique");
} }
} }

View File

@ -735,7 +735,11 @@ public class JArithmeticInterpreter {
{ {
StringBuffer input = new StringBuffer(expr); StringBuffer input = new StringBuffer(expr);
JArithmeticInterpreter jai = JArithmeticInterpreter.constructTree(input,input.length(),0); JArithmeticInterpreter jai = null;
try {
jai = JArithmeticInterpreter.constructTree(input,input.length(),0);
} catch (Exception e) { }
if (jai==null) if (jai==null)
throw new IllegalArgumentException("Le calcul passé en paramètre est invalide"); throw new IllegalArgumentException("Le calcul passé en paramètre est invalide");