Чтобы быть более точным по поводу того что мы говорили то Представь чт

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Чтобы быть более точным по поводу того, что мы говорили, то
Представь, что мы имеем
1) Просто переменную типа String, в которой находится значение матем выражения
String expr="2+3*6-9/3=";
2) Затем мы делаем так, чтобы отделить числа от операторов и получаем два массива длиной expr.length()/2
double [] num=new double[expr.length()/2];
String [] oper=new String[expr.length()/2];
3) Мы моделируем ситуацию и заранее можем сказать, что храниться в каждом из массивов - это
num[0]=2;
num[1]=3;
num[2]=6;
num[3]=9;
num[4]=3;
и
oper[0]="+";
oper[1]="*";
oper[2]="-";
oper[3]="/";
oper[4]="=";
4) Мы помним про закономерность матем выражения как "первым всегда идет число", поэтому делаем так, чтобы у массива с числами инициализация элементов начиналась раньше.
double [] num=new double[expr.length()/2+1];
String [] oper=new String[expr.length()/2+1];
num[0]=2; //начинаем индексацию с нуля
num[1]=3;
num[2]=6;
num[3]=9;
num[4]=3;
num[5]=0;//по умолчанию 0
и
oper[0]=""; //пустой
oper[1]="+"; //начинаем инициализацию с индекса 1
oper[2]="*";
oper[3]="-";
oper[4]="/";
oper[5]="=";
5) Затем перед нами встает задача соблюсти теорию, как "любое матем выражение можно записать в виде суммы произвольных чисел"
Здесь мы должны объявить массив, в который мы затем поместим именно этот самый набор чисел.
double [] res=new double[num.length];
7) Следует написать алгоритм с помощью которого мы сможем проанализировать оба массива num и oper и в результате заполнить новый массив res следующими значениями
res[0]=2;
res[1]=18;
res[2]= -3;
double result=0;
for(int i=0; i<res.length; i++){
result+=res[i];
}
8) После этого мы сможем просто сложить сумму из элементов массива res и получить ответ на вопрос "чему равно данное матем выражение" 2+3*6-9/3=