Я пытаюсь сделать калькулятор, который позволяет выполнять несколько операций (например, 4 + 3-2 + 5). Моя основная идея c о том, как это сделать, заключается в использовании l oop:
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
Пара замечаний: nums.length ссылается на массив, который содержит входное уравнение, разделенное следующим образом: nums = equation.split("(?<=[-+*/%])|(?=[-+*/%])")
В идеале, когда у меня будет значение 'type', я смогу заставить мою программу вычислить уравнение следующим образом:
for(int i = 1; i < nums.length; i++) {
ans = eq.get(0) type eq.get(func.indexOf(1)+i);
}
Еще одно небольшое замечание: eq
- это arraylist со всеми значениями nums
.
В значительной степени я хочу, чтобы type
стал математическими операциями, такими как +, -, et c. Я знаю, что этот код ужасно нарушен, как я показал здесь, но я просто написал кое-что, чтобы привести пример того, чего я хочу достичь sh. Я смотрел на другие вопросы, подобные этому, где было решение использовать класс Math
и вызывать функции из этого, но это не работает в моей программе. У кого-нибудь есть мысли о том, как этого добиться? Спасибо!