Salve a tutti posto qui di seguito un programma semplificato del mio problema.
Data una stringa contenente un'espressione matematica letterale voglio ottenere la stessa espressione convertendo le lettere in numeri prendendo i valori da una mappa.
Vi posto qui di seguito il mio codice sperando in un vostro aiuto
quello che voglio è ottenere un output del tipo (15*60)+(60/15)codice:public class Prova { public static void main(String[] argv) { //espressione matematica String expr = "(a*b)+(b/a)"; //(15*60)+(60/15) //mappa dei valori numerici HashMap<String, Double> itemval = new HashMap(); //popolo la mappa itemval.put("a", 15.0); itemval.put("b", 60.0); //stampo per verificare i valori System.out.println("itemval: "+itemval); System.out.println("expr: " + expr); //converto espressione letteraria in numerica char[] nc = expr.toCharArray(); for (int t = 0; t < nc.length; t++) { char pippo = nc[t]; for (String key: itemval.keySet()){ if (key.equals(pippo)){ System.out.println("pippo: "+itemval.get(key)); } } System.out.print(nc[t]); } } }
Grazie in anticipo a chi mi aiuterà in questo problema.