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

    Risolvere espressione aritmetica in java

    Ciao raga, vorrei un aiuto su come risolvere questo problema: data in input una stringa contenente un'espressione aritmetica semplice, cioè senza parentesi, elaborarla e visualizzare il risultato.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Saverioapple Visualizza il messaggio
    data in input una stringa contenente un'espressione aritmetica semplice, cioè senza parentesi, elaborarla e visualizzare il risultato.
    Senza usare librerie apposite di "math expression parser", devi chiaramente scriverti tu un basilare "parser". Hai già indicato chiaramente una restrizione (nessuna parentesi) ma c'è un'altra cosa: devi considerare le precedenze tra gli operatori?

    "2 + 4 * 3"

    deve essere trattata come se fosse "2 + (4 * 3)" (=14) oppure come se fosse fatta ad una calcolatrice tascabile, prima 2+4 = 6 poi 6 * 3 = 18 ?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Intedevo che deve risolvere tipo questa espressione: 5+3*4 facendo prima 3*4 e poi aggiungendo 5.

  4. #4
    Utente di HTML.it L'avatar di Misterxxx
    Registrato dal
    Oct 2003
    Messaggi
    3,706
    è quello che ha scritto andbin
    devi farti un parsing personalizzato, auguri
    cmq se cerchi trovi di certo qualcosa di pronto
    Ultima modifica di Misterxxx; 09-10-2015 a 11:55
    Io ne ho viste cose che voi umani non potreste immaginare. Navi da combattimento in fiamme al largo dei bastioni di Orione e ho visto i raggi B, balenare nel buio vicino le porte di Tannhäuser. E tutti quei momenti ... andranno ... perduti nel tempo, come lacrime nella pioggia. È tempo di morire. (Roy Batty).

  5. #5
    Puoi usare il metodo "Operator Precedence Parsing":

    http://forum.html.it/forum/showthrea...1#post25323346

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.