Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Discussione: JavaMath

  1. #1

    JavaMath

    Salve a tutti, cercando su questo forum, ho trovato le utili librerie JavaMath, che fanno il parsing di una stringa per ottenere un'espressione matematica utilizzabile: http://lai.dfc.unifi.it/~arf/home/JavaMath/index.html
    Il mio problema è che non riesco ad usarle; cioè, ho scaricato i sorgenti e ho messo la cartella "com" nella cartella "src" del mio progetto NetBeans.
    Poi ho scritto queste due righe di codice:
    codice:
    import com.grug.math.parsing.*;
    import com.grug.math.*;
    ...
    ...
    //Ricavo la funzione
            try {
                MathParser mp = new MathParser();
                Expression expr = mp.parse("12+3");
                System.out.println(expr.compute(null));
            }
            catch (Exception e) {
                e.printStackTrace();
            }
    Solo che ottengo molti errori proprio dai package che ho importato:

    codice:
    init:
    deps-jar:
    Compiling 37 source files to /home/roberto/Progetti_Java/Bisezione/build/classes
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:16: unmappable character for encoding UTF8
     * Questa classe contiene vari metodi e funzioni di utilit�
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:229: unmappable character for encoding UTF8
         *@param label Il testo che compare nel men�
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:234: unmappable character for encoding UTF8
         *bg � questo quello selezionato come condizione predefinita
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:247: unmappable character for encoding UTF8
         *@param label Il testo che compare nel men�
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:251: unmappable character for encoding UTF8
         *@param mnemonic Il carattere associato a questo JMenuItem nel men�
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:284: unmappable character for encoding UTF8
         *Crea Apre una finestra di dialogo per la scelta di pi� file
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:348: unmappable character for encoding UTF8
         *che pu� essere utilizzato all'inizio di un programma per presentarlo
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/math/Expression.java:37: unmappable character for encoding UTF8
         *Semplifica il pi� possibile l'espressione
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/math/MathFunction.java:9: unmappable character for encoding UTF8
     *Questa classe definisce ci� che tutte queste funzioni hanno in comune,
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/math/MathFunction.java:10: unmappable character for encoding UTF8
     *cio� un'espressione matematica, ovvero l'argomento delle funzioni
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/math/graphic/GraphicPanel.java:16: unmappable character for encoding UTF8
     *Questa � la classe che gestisce il disegno e la gestione delle funzioni
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/math/parsing/MathParser.java:23: unmappable character for encoding UTF8
        //Contiene gli operatori, ordinati in gruppi della stessa priorit�
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/math/parsing/MathParser.java:89: unmappable character for encoding UTF8
         *Dalla pi� alta alla pi� bassa
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/math/parsing/MathParser.java:89: unmappable character for encoding UTF8
         *Dalla pi� alta alla pi� bassa
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/math/parsing/MathParser.java:238: unmappable character for encoding UTF8
            //Nota: gli operatori sono gi� in ordine di priorit�
                                         ^
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/math/parsing/MathParser.java:238: unmappable character for encoding UTF8
            //Nota: gli operatori sono gi� in ordine di priorit�
                                                               ^
    16 errors
    BUILD FAILED (total time: 1 second)
    Potete darmi una mano a risolvere?
    Grazie
    Roberto
    OnLine il nuovo sito: www.lasfidacontinua.it

  2. #2
    Proprio nessuno può aiutarmi?
    Leggendo QUI ho visto che i sorgenti di JavaMath, dopo essere messi nella cartella src del mio progetto, andrebbero compilati; anche in questo caso ottengo errore.
    Cosa sbaglio??????

    Grazie
    Roberto
    OnLine il nuovo sito: www.lasfidacontinua.it

  3. #3
    mi sembra che l'errore stia nell'utilizzo di caratteri non consentiti (unmappable character for encoding UTF8, quelli che ti sostituisce con un punto di domanda).. come utilità.. la à nn va bene evidentemente.. sostituiscili

  4. #4
    Grazie per il suggerimento.
    Comunque non credo che sia quello, perchè l'esempio l'ho preso dal post che ho segnalato, e all'utente che lo aveva provato non dava errore.
    Non può essere per il fatto che i sorgenti vanno prima compilati? Io ho provato con javac <file.java>, ma per alcuni file ci sono degli errori...

    Ciao
    OnLine il nuovo sito: www.lasfidacontinua.it

  5. #5
    Dall'errore che posti sembra che non sia rispettata la formattazione dei commenti, controlla bene quella.
    Per quanto riguarda la compilazione devi fare attenzione a che tutte le classi usate siano sotto lo stesso progetto o ne vengano importate le relative librerie.

    Saluti,
    Pasquale Congiusti'

  6. #6
    Originariamente inviato da P.Congiusti
    Dall'errore che posti sembra che non sia rispettata la formattazione dei commenti, controlla bene quella.
    Ciao.
    Nel mio progetto, che include le librerie di JavaMath, non sono presenti commenti.
    Andando a controllare, ho visto che i commenti riportati nell'errore sono quelli dei package stessi, cioè vengono riportate determinate righe di determinati file.

    Per la compilazione dei sorgenti, devo usare javac oppure posso farlo anche da NetBeans?
    Nel primo caso, faccio javac <file.java> e per alcuni file ci sono errori;
    Nel secondo caso, clicco con il destro sul package e poi "Compile" ma anche qui ottengo molti errori...
    OnLine il nuovo sito: www.lasfidacontinua.it

  7. #7
    Puoi usare entrambi, ma immagino ti troverai meglio sotto un IDE di sviluppo.

    Riporta il sorgente e gli errori di compilazione.

  8. #8
    Allora, uso NetBeans.
    Copio i file di JavaMath nella cartella src del mio progetto.
    Dall'IDE, faccio cli con il destro sul primo package, com.grug, e poi "Compile Package".
    L'output che restituisce è il seguente:

    codice:
    init:
    deps-jar:
    Compiling 2 source files to /home/roberto/Progetti_Java/Bisezione/build/classes
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:16: unmappable character for encoding UTF8
     * Questa classe contiene vari metodi e funzioni di utilit�
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:229: unmappable character for encoding UTF8
         *@param label Il testo che compare nel men�
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:234: unmappable character for encoding UTF8
         *bg � questo quello selezionato come condizione predefinita
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:247: unmappable character for encoding UTF8
         *@param label Il testo che compare nel men�
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:251: unmappable character for encoding UTF8
         *@param mnemonic Il carattere associato a questo JMenuItem nel men�
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:284: unmappable character for encoding UTF8
         *Crea Apre una finestra di dialogo per la scelta di pi� file
    /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java:348: unmappable character for encoding UTF8
         *che pu� essere utilizzato all'inizio di un programma per presentarlo
    7 errors
    BUILD FAILED (total time: 5 seconds)
    Dato poi che dice "unmappable character" ho provato ad aggiungere, al primo file in cui mi dava errore, "import java.lang.*" e ricompilando questo è l'output:
    codice:
    init:
    deps-jar:
    Compiling 2 source files to /home/roberto/Progetti_Java/Bisezione/build/classes
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: /home/roberto/Progetti_Java/Bisezione/src/com/grug/Utilities.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    compile-single:
    BUILD SUCCESSFUL (total time: 5 seconds)
    La compilazione sembrerebbe essere andata a buon fine, ma cosa sono quelle "note" in mezzo???
    Ho fatto bene ad aggiungere quella riga?

    Grazie
    OnLine il nuovo sito: www.lasfidacontinua.it

  9. #9
    Ho fatto bene ad aggiungere quella riga?
    decisamente.. senza quella il compilatore non sa dove prendere le espressioni di math!
    ora, non ho visto il tuo codice, ma probabilmente le varie classi dei tuoi package usano istruzioni della librerie java.lang.math che non erano incluse.

    le due righe sono relative: a grandissime linee, la prima indica che hai usato da qualche parte un metodo che è considerato deprecato, non più da utilizzare e quindi sconsigliato. se riesci ad usarne uno più recente molto meglio.
    la seconda dice che fai delle operazioni potenzialmente non sicure al 100%, magari dei cast di oggetti.. ma non è una cosa di cui preoccuparsi se sei tranquillo di non aver associato oggetti a stringhe o robe così.

  10. #10
    Ciao.
    Allora, ora funziona tutto; ho modificato i file necessari, compilato e copiato tutto nella radice del mio progetto (altrimenti non funzionava).
    Avrei una domanda però: se metto "2+3*2" mi restituisce correttamente 8; se però volessi inserire una funzione?
    Cioè, io leggo la funzione, tipo 2x+3; come faccio poi a sostituire un valore al posto della x?
    Ho letto un po la documentazione (http://lai.dfc.unifi.it/~arf/home/Ja...doc/index.html) ma non ci ho ricavato molto...
    Potreste aiutarmi?

    Grazie
    OnLine il nuovo sito: www.lasfidacontinua.it

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.