Calcolo espressione arimetica Java

di il
8 risposte

Calcolo espressione arimetica Java

Salve gente, sono uno studente di informatica del 4 anno e devo sviluppare un codice in Java per scuola che,
data un'espressione aritmetica (es. (3*4):2+11*(4:2)-8 ) mi restituisca il risultato tenendo conto delle parentesi
e della priorità degli operatori(* e : si svolgono prima di + e -).

Sono giorni che provo a scrivere un'algorimo ma non riesco propio a buttare giu nulla di concreto sembra essere impossibile.. ho bisogno di un'idea.
Se qualcuno avesse un idea di come fare o cosa devo studiare per riuscire a svilupparlo mi salverebbe davvero la vita.

Vi ringrazio in anticipo.. Tiziano

8 Risposte

  • Re: Calcolo espressione arimetica Java

    Hai provato a fare una ricerca in inglese del tipo "java evaluate math expression" ?
  • Re: Calcolo espressione arimetica Java

    Non riesci proprio perché non hai affrontato l'argomento in teoria. E' un esercizio del professore o lo hai scelto tu? Non è banale.

    Si tratta di scrivere un "parser ricorsivo delle espressioni", tenendo presente la distinzione tra

    Espressione
    Termine
    Fattore
    Numero
    Cifra

    Ad esempio, leggi

    http://blog.roboblob.com/2014/12/16/recursive-descent-parser-for-arithmetic-expressions-with-real-numbers/
  • Re: Calcolo espressione arimetica Java

    oregon ha scritto:


    Non riesci proprio perché non hai affrontato l'argomento in teoria. E' un esercizio del professore o lo hai scelto tu? Non è banale.

    Si tratta di scrivere un "parser ricorsivo delle espressioni", tenendo presente la distinzione tra

    Espressione
    Termine
    Fattore
    Numero
    Cifra

    Ad esempio, leggi

    http://blog.roboblob.com/2014/12/16/recursive-descent-parser-for-arithmetic-expressions-with-real-numbers/

    Si, è un esercizio del professore.. è un sacco complicato. Però diamine non voglio presentarmi senza nulla lunedi e neanche voglio copiare il codice di qualcun altro su stackoverflow e altri..

    Ho letto piu volte l'articolo che mi hai mandato mi ha davvero aiutato a darmi un idea piu astratta e completa del problema grazie davvero.
    Ma dando un occhiata al sorgente completo alla fine è veramente tanta roba la maggior parte sono istruzioni che non ho mai visto.
    Ci potrà essere un modo piu semplice per realizzare questa calcolatrice magari in modo iterativo e non ricorsivo?

    Grazie dell' aiuto.
  • Re: Calcolo espressione arimetica Java

    0) NON E' UN SACCO COMPLICATO: e' estremamente banale. Per uno del QUARTO anno, questa robbbba dovrebbe essere normale amministrazione

    1) NO, non c'e' un modo "PIU' SEMPLICE", QUESTO e' il modo SEMPLICE

    2) NO, non c'e un modo ITERATIVO perche' per LORO NATURA le espressioni sono RICORSIVE

    3) NON E' tanta roba: ci sono funzioncine in croce.

    Se al QUARTO anno ti spaventi per quattro righe di codice messe in croce, che cosa farai quandro dovrai mettere le mani su decine/centinaia di migliaia di righe di codice?

    Ti butti dalla finestra?

    Cambi lavoro?

    Sei sicuro che informatica faccia per te?
  • Re: Calcolo espressione arimetica Java

    Si, io amo l'informatica specialmente la programmazione, ma sono nuovo alla programmazione a oggetti ho studiato un anno C ed ora gia mi trovo spaesato con un linguaggio oop poi come ha detto oregon non è un esercizio banale..
  • Re: Calcolo espressione arimetica Java

    Probabilmente il prof si accontenterà dell'impostazione, non sarà necessario un codice funzionante, d'altra parte non ha molto senso rifare daccapo e peggio cose che esistono già fatte.
    Mi sembra che in questo caso la programmazione ad oggetti c'entri poco.
  • Re: Calcolo espressione arimetica Java

    @patel, SAPER fare qualcosa vuol dire CAPIRE come si fa, CAPIRE in quali contesti puo' esser utile, CAPIRE com potrebbe essere migliorato.

    E magari, in un certo contesto, serve QUALCOSA DEL GENERE, ma NON ESATTAMENTE QUELLO, quindi, saperlo fare vuol dire essere in grado di fare quel qualcosa del genere
  • Re: Calcolo espressione arimetica Java

    I prof non sono mica nati ieri, sanno benissimo che esiste google e stackoverflow, quindi proporre un lavoro senza averlo capito è un suicidio
Devi accedere o registrarti per scrivere nel forum
8 risposte