Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755

    svolgere espressioni letterali

    devo riuscire a far svolgere a un mio programma la somma tra espressioni letterali tipo:
    ex: a+a=2a
    come faccio?

    ho a disposizione il parser JEP,esso ha le funzioni addVariable(String name,double value) (che penso nn mi possa aiutare), addVariable(String name,Object object) (che forse mi può aiutare)
    ma se ad esempio utilizzando la seconda faccio:
    codice:
    jep.addVariable("a","a");
    
    	        jep.parseExpression("a+a");    
    
    	        if (jep.hasError()) {
    	            System.out.println("ERRORE: " + jep.getErrorInfo());
    	        } else {
    	            double risultato = jep.getValue();
    
    	            System.out.println("Risultato: " + risultato);
    	        }
    mi dà come risultato NaN...mi chiedo dunque può il parser JEP aiutarmi nel mio scopo?(andbin tu che hai seguito il mio caso magari ne sai qualcosa di più)

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: svolgere espressioni letterali

    Originariamente inviato da zipangulu
    devo riuscire a far svolgere a un mio programma la somma tra espressioni letterali tipo:
    ex: a+a=2a
    come faccio?

    (andbin tu che hai seguito il mio caso magari ne sai qualcosa di più)
    Eccomi.
    Però non ho ben capito: hai due espressioni letterali separate e vuoi parsare/calcolare il risultato di ognuna singolarmente e poi sommare alla fine i due risultati? O vuoi comporre una unica espressione che rappresenta la "somma" delle due e poi parsare solo questa singola espressione composta?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    mmm non si tratta propriamente di parsare,inquanto non voglio propriamente il valore double corrispondente,ma voglio che sia sviluppata un'espressione letterale.Cioè invece che sommare direttamente numeri sommi i termini simili(anche lettere)
    faccio un esempio:
    ex:2ab+35a+5ab+1 ---> =7ab+35a+1
    JEP può fare qualcosa del genere?
    spero di essermi fatto capire...

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da zipangulu
    Cioè invece che sommare direttamente numeri sommi i termini simili(anche lettere)
    faccio un esempio:
    ex:2ab+35a+5ab+1 ---> =7ab+35a+1
    JEP può fare qualcosa del genere?
    Ah, sì ho capito. Solo calcolo "letterale", senza valutazione numerica.
    Ma credo proprio che JEP non lo faccia. Insomma, si limita solo a risolvere numericamente la espressione. Per lui 2ab è solamente 2*a*b dove deve mettere dei valori nelle due variabili e non "sa" (non è stato implementato) di dover andare a cercare un altro monomio con a*b da sommare "letteralmente".

    Potrebbero esistere altre librerie che fanno questo. Ma non ne conosco ...
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.