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
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]);
}
}
}
quello che voglio è ottenere un output del tipo (15*60)+(60/15)
Grazie in anticipo a chi mi aiuterà in questo problema.