Avreste qualche idea su come implementare l'algoritmo che segue vi posto quello che ho scritto (praticamente nulla fatemi sapere).
Si scriva un programma che presa in input una espressione matematica da linea di comando ne
calcoli il risultato e lo visualizzi.
Tale espressione dovrà seguire la grammatica:
espressione = numero | numero operatore espressione| (espressione)
operatore = + | *
dove numero è un numero intero decimale positivo.
Esempi:
10+20
15+(12+6+4*(5+8))
Il risultato deve essere calcolato assumendo che tutti gli operatori abbiano la stessa
precedenza e che, come di norma, le parentesi eventualmente presenti siano usate per
modificare l'associatività.
L'algoritmo implementato per il calcolo dovrà essere ricorsivo (ogni espressione fra parentesi
dovrà essere valutata attraverso una chiamata ricorsiva).
Il programma può assumere che l'espressione fornita su linea di comando sia consistente con
la grammatica proposta.
public class EspressioniRicorsive {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("Inserire la espressione:");
String strExpr = scan.nextLine();
System.out.println("Risultato:"+ calcoloEspressione(strExpr));
}
public int calcoloEspression(String espressione){
?!?!?!?!?!??!??!??!??!??!??!??!??!??!?![]()
![]()
![]()
![]()
![]()
}
}