Je prends une entrée d'une zone jtext et doit être capable de lire plusieurs lignes à partir de l'entrée et de sortir le calcul. Je peux lire la première ligne, mais aucune après ça (ça plante). Voici le code que j'ai en ce momentJava - Lecture de plusieurs lignes dans jtextarea; convertir en tableau char
String exp = inputTextArea.getText();
String[] lines = exp.split("\\n");
for (int i = 0; i < lines.length; i++)
{
InterpObj.p = exp.toCharArray();
InterpObj.counter = 0;
double nr = InterpObj.E();
String str=Double.toString(nr);
outputTextArea.append(" " +str);
}
Voici les messages d'erreur
{Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "6 12"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:538)
at Interpreter.A(Interpreter.java:43)
at Interpreter.E(Interpreter.java:24)
at Interp_1a$ButtonListener.actionPerformed(Interp_1a.java:91)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
À un certain point dans votre classe d'interpréteur, vous essayez de transformer '" 6 12 "' en un seul 'double'. Ça ne marche pas comme ça. Séparez la chaîne par espace ou entrez uniquement un nombre unique sur chaque ligne. En note, je me demande si la ligne 'InterpObj.p = exp.toCharArray();' devrait être réellement 'InterpObj.p = lines [i] .toCharArray();' – jonhopkins
La deuxième partie a fait, erreur stupide. Je vous remercie!! @jonhopkins –