Sto cercando di fare una calcolatrice che permette di operazioni multiple (ad esempio 4 + 3-2 + 5). La mia idea di base per sapere come fare questo è quello di utilizzare questo ciclo:
for (int i = 0; i < nums.length; i++) {
switch (nums[i]) {
case add:
while (func.size() < i) {
func.add(0);
}
func.add(i, 1);
type = +;
break;
//More cases for other operations
Note: coppia riferimenti nums.length una matrice che contiene l'input equazione scissione simili: nums = equation.split((?<=[-+*/%])|(?=[-+*/%]))
Idealmente, una volta che ho il valore 'tipo', mi piacerebbe essere in grado di fare il mio programma di calcolare l'equazione in questo modo:
for(int i = 1; i < nums.length; i++) {
ans = eq.get(0) type eq.get(func.indexOf(1)+i);
}
Un'altra piccola nota: eq
è un ArrayList con tutti i valori di nums
.
Più o meno quello che voglio fare è di avere type
diventati operazioni matematiche come +, -, ecc so che questo codice è terribilmente rotto nel modo che ho mostrato qui, ma è solo qualcosa che ho scritto rapidamente per fornire un esempio di quello che ho vuole realizzare. Ho guardato altre domande simili a questo, dove la soluzione era quella di utilizzare le Math
funzioni di classe e di chiamata da questo, ma non funziona nel mio programma. Chiunque ha pensieri su un modo per raggiungere questo obiettivo? Grazie!