Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Trasformare un'espressione in funzione

    Ho scritto una classe di questo tipo:

    codice:
    class funz {
        double fu(double x) {
            double y;
            y = Math.pow(x,2)-4*x;
            return y;
        }
    }
    e volevo sapere se potevo aggiungere un metodo a questa classe che oltre a fornirmi y (un numero) mi fornisse in automativo l'espressione della funzione ovvero "x^2-4x" senza il 'pow' (una stringa).
    Le mie conoscenze non mi suggeriscono nulla, per caso qualcuno di voi conosce qualche stratagemma/libreria?

    grazie in anticipo
    Più pratica in futuro...

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    oltre a fornirmi y (un numero) mi fornisse in automativo l'espressione della funzione ovvero "x^2-4x" senza il 'pow' (una stringa).
    Mi sfugge la necessità di voler ottenere una espressione in stringa da un codice compilato e ... no, non mi pare sensatamente possibile.
    Se vuoi partire da una espressione in stringa come quella che hai detto e poi parsarla/valutarla (cioè in sostanza calcolarla, "iniettando" valori per le variabili), sì, ci sono sicuramente librerie apposite.
    Cerca in rete qualcosa tipo: java math expression evaluator library
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    l'utilità c'è:
    scrivo nel codice "y = Math.pow(x,2)-4*x;" poi premo run ed il programma fa dei calcoli matematici utilizzando questa funzione come argomento e nella shell o su un file txt (relazione tecnica) scrive y=x^2-4x
    se non si può pazienza, vorrà dire che aggiungerò una variabile con la stringa "y=x^2-4x"
    questa soluzione mi piace poco perché mi costringe a scrivere la nuova funzione da processare 2 volte invece che una ma ovviamente mi accontento dal momento che tu mi dici che è impossibile
    grazie per il messaggio
    Più pratica in futuro...

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    scrivo nel codice "y = Math.pow(x,2)-4*x;" poi premo run ed il programma fa dei calcoli matematici utilizzando questa funzione come argomento
    Se hai come partenza una stringa con una espressione e vuoi valutarla, ripeto che ti serve una libreria di "math expression parser/evaluator". O al limite l'utilizzo di un linguaggio di scripting agganciabile a Java (da Java 6 c'è una API apposita e il runtime nel JRE contiene già un engine Javascript).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Se hai come partenza una stringa con una espressione e vuoi valutarla, ripeto che ti serve una libreria di "math expression parser/evaluator". O al limite l'utilizzo di un linguaggio di scripting agganciabile a Java (da Java 6 c'è una API apposita e il runtime nel JRE contiene già un engine Javascript).
    troppo complicato il tuo intervento per le mie conscenze di java, mi accontento di riscrivere la funzione 2 volte
    Più pratica in futuro...

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.