Domanda

Come valutare l'espressione matematica dalla stringa in J2me.

Ad esempio una stringa contenente "2*4". Dalla stringa che voglio valutare l'espressione matematica e ottenere il risultato come 8 (2*4). Come dovrei farlo in j2me.

In "Java ™ Platform Standard ed. 6" c'è un pacchetto, vale a dire "Javax.Script" viene utilizzato per valutare le espressioni matematiche dalla stringa. Come qualsiasi pacchetto o classe sia disponibile per J2ME per valutare l'espressione matematica dalla stringa.

È stato utile?

Soluzione 2

I seguenti sono i passaggi utilizzati per valutare l'espressione matematica dalla stringa in J2me

  1. Leggi l'espressione in una variabile di stringa. Ecco l'espressione è in forma di infix.
  2. Converti l'espressione nella variabile stringa in un modulo postfix e memorizzala in un'altra variabile stringa, vale a dire "postfix_str".
  3. Valuta l'espressione nel modulo postfix (il valore nei dati "postfix_str") utilizzando lo stack.

Altri suggerimenti

Se hai bisogno di gestire le espressioni nidificate, scrivi il tuo parser basato su stack.

Se non hai familiarità con l'algoritmo, usi due stack, uno per tenere gli operatori e l'altro per tenere gli operandi.

Per il caso di base che analizzi tutti gli operatori e gli operatori nei rispettivi stack, quindi valutare spuntando due operandi e un operatore, eseguendo il calcolo, quindi memorizzando il risultato sullo stack dell'opera e. Continua fino a quando lo stack dell'operatore non è vuoto e lo stack operand ha un solo valore (il risultato). Se si esaurisce gli operatori e c'è più di un risultato sul tuo stack, allora c'è un errore nell'espressione.

Per gestire le parentesi (comprese le parentesi nidificate) si includono operatori per i parenti sinistro e destro. Quando si analizza l'espressione se si incontra un paren destro inizia a valutare immediatamente l'espressione (spuntando due operandi e un operatore, posizionando il risultato sullo stack dell'opera e) fino a quando non si incontra un paren sinistro. Quindi riprendi l'analisi dell'espressione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top