質問編集履歴
13
levelrr == sikilong - 1の時にsikipb = ""になる記述を追加。
test
CHANGED
File without changes
|
test
CHANGED
@@ -250,6 +250,12 @@
|
|
250
250
|
|
251
251
|
sikipb = siki.substring(levelrr, sikilong - 1);
|
252
252
|
|
253
|
+
if (levelrr == sikilong - 1){
|
254
|
+
|
255
|
+
sikipb = "";
|
256
|
+
|
257
|
+
}
|
258
|
+
|
253
259
|
if (siki.charAt(levelrl) == sisoku[2]) { //t
|
254
260
|
|
255
261
|
en = a * b;
|
12
//tの上のlevelrr \+ 1をlevelrrに修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -248,7 +248,7 @@
|
|
248
248
|
|
249
249
|
b = siki.substring(levellr + 1, levelrr);
|
250
250
|
|
251
|
-
sikipb = siki.substring(levelrr
|
251
|
+
sikipb = siki.substring(levelrr, sikilong - 1);
|
252
252
|
|
253
253
|
if (siki.charAt(levelrl) == sisoku[2]) { //t
|
254
254
|
|
11
//sの下のsikilongをsikilong - 1に修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -248,7 +248,7 @@
|
|
248
248
|
|
249
249
|
b = siki.substring(levellr + 1, levelrr);
|
250
250
|
|
251
|
-
sikipb = siki.substring(levelrr + 1, sikilong);
|
251
|
+
sikipb = siki.substring(levelrr + 1, sikilong - 1);
|
252
252
|
|
253
253
|
if (siki.charAt(levelrl) == sisoku[2]) { //t
|
254
254
|
|
10
sikipaが""になる記述を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -260,6 +260,12 @@
|
|
260
260
|
|
261
261
|
} //t
|
262
262
|
|
263
|
+
if (levelll == 0){
|
264
|
+
|
265
|
+
sikipa = "";
|
266
|
+
|
267
|
+
}
|
268
|
+
|
263
269
|
siki = sikipa + en + sikipb;
|
264
270
|
|
265
271
|
sikilong = siki.length;
|
9
a = siki\.substring\(levelll, levelrl\);をa = siki\.substring\(levelll, levelrl - 1\);に修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -204,7 +204,7 @@
|
|
204
204
|
|
205
205
|
} //n
|
206
206
|
|
207
|
-
a = siki.substring(levelll, levelrl);
|
207
|
+
a = siki.substring(levelll, levelrl - 1);
|
208
208
|
|
209
209
|
sikipa = siki.substring(0, levelll);
|
210
210
|
|
8
//lの上のcntd\+1をcntdに修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -182,7 +182,7 @@
|
|
182
182
|
|
183
183
|
if (siki.charAt(cntd) == sisoku[cntnumb]) { //l
|
184
184
|
|
185
|
-
var levelll = cntd
|
185
|
+
var levelll = cntd;
|
186
186
|
|
187
187
|
break;
|
188
188
|
|
7
×÷のところで抜けていた×÷が無いときにbreakする記述を追加。
test
CHANGED
File without changes
|
test
CHANGED
@@ -140,6 +140,12 @@
|
|
140
140
|
|
141
141
|
} //5
|
142
142
|
|
143
|
+
if (kakerupo == -1 && warupo == -1) {
|
144
|
+
|
145
|
+
break;
|
146
|
+
|
147
|
+
}
|
148
|
+
|
143
149
|
if (kakerupo != -1 && warupo != -1) { //8
|
144
150
|
|
145
151
|
if (kakerupo > warupo) { //9
|
6
説明の修正および新たな問題の記述
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,6 +18,8 @@
|
|
18
18
|
|
19
19
|
乗除計算では値が不自然なものに、和と差の計算では結果に"NaN"が含まれかつ式も右にそのまま出てきます。
|
20
20
|
|
21
|
+
三項以上の掛け算でNaNが出現します。
|
22
|
+
|
21
23
|
```
|
22
24
|
|
23
25
|
|
@@ -392,8 +394,6 @@
|
|
392
394
|
|
393
395
|
デバッグも粗方行いました。
|
394
396
|
|
395
|
-
※掛け算に関して問題が無くなりました。
|
396
|
-
|
397
397
|
|
398
398
|
|
399
399
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
5
//sの下の\(levellr\+1を\(levelrr\+1に修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -240,7 +240,7 @@
|
|
240
240
|
|
241
241
|
b = siki.substring(levellr + 1, levelrr);
|
242
242
|
|
243
|
-
sikipb = siki.substring(level
|
243
|
+
sikipb = siki.substring(levelrr + 1, sikilong);
|
244
244
|
|
245
245
|
if (siki.charAt(levelrl) == sisoku[2]) { //t
|
246
246
|
|
@@ -390,6 +390,10 @@
|
|
390
390
|
|
391
391
|
コードを見たらわかるかと思いますが、括弧がちゃんと対応しているか英数字をふって確かめたりしました。
|
392
392
|
|
393
|
+
デバッグも粗方行いました。
|
394
|
+
|
395
|
+
※掛け算に関して問題が無くなりました。
|
396
|
+
|
393
397
|
|
394
398
|
|
395
399
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
4
説明の改善
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
HTMLのフォームから「式」を取得し、四則演算記号を判別して演算の順番通りに計算をこなしていくということを実現したいです。
|
6
6
|
|
7
|
-
仕組みとしては、四則演算子を一つずつ潰していく感じになります。
|
7
|
+
仕組みとしては、四則演算子を一つずつ潰していく感じになります。今対応させるのは自然数のみです。
|
8
8
|
|
9
9
|
最終的に結果が全て計算されたものになるようなプログラムを目指しています。
|
10
10
|
|
3
//4の少し上のlevelrlをsiki\.charAt\(levelrl\)に修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -242,11 +242,11 @@
|
|
242
242
|
|
243
243
|
sikipb = siki.substring(levellr + 1, sikilong);
|
244
244
|
|
245
|
-
if (levelrl == sisoku[2]) { //t
|
245
|
+
if (siki.charAt(levelrl) == sisoku[2]) { //t
|
246
246
|
|
247
247
|
en = a * b;
|
248
248
|
|
249
|
-
} else if (levelrl == sisoku[3]) { //t
|
249
|
+
} else if (siki.charAt(levelrl) == sisoku[3]) { //t
|
250
250
|
|
251
251
|
en = a / b;
|
252
252
|
|
2
=が抜けていたところを修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -242,7 +242,7 @@
|
|
242
242
|
|
243
243
|
sikipb = siki.substring(levellr + 1, sikilong);
|
244
244
|
|
245
|
-
if (levelrl = sisoku[2]) { //t
|
245
|
+
if (levelrl == sisoku[2]) { //t
|
246
246
|
|
247
247
|
en = a * b;
|
248
248
|
|
@@ -300,7 +300,7 @@
|
|
300
300
|
|
301
301
|
} //3
|
302
302
|
|
303
|
-
if (middle = -1) {
|
303
|
+
if (middle == -1) {
|
304
304
|
|
305
305
|
break;
|
306
306
|
|
@@ -344,7 +344,7 @@
|
|
344
344
|
|
345
345
|
en = a + b;
|
346
346
|
|
347
|
-
} else if (siki.charAt(middle) = sisoku[1]) {
|
347
|
+
} else if (siki.charAt(middle) == sisoku[1]) {
|
348
348
|
|
349
349
|
en = a - b;
|
350
350
|
|
1
編集・追記依頼に基づき、整形しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -26,361 +26,361 @@
|
|
26
26
|
|
27
27
|
```JavaScript
|
28
28
|
|
29
|
-
function keisan() {//a
|
30
|
-
|
31
|
-
/*try{*/
|
32
|
-
|
33
|
-
var chk1 = 0
|
34
|
-
|
35
|
-
var str = document.siki.mainsiki.value;
|
36
|
-
|
37
|
-
var strlong = str.length;
|
38
|
-
|
39
|
-
for (var cnt=0
|
40
|
-
|
41
|
-
if (str.indexOf(cnt,0) != 0){//c
|
42
|
-
|
43
|
-
chk1++
|
44
|
-
|
45
|
-
}//c
|
46
|
-
|
47
|
-
}//b
|
48
|
-
|
49
|
-
if (chk1>9){//d
|
50
|
-
|
51
|
-
alert("最初の文字は数字にしてください");
|
52
|
-
|
53
|
-
return;
|
54
|
-
|
55
|
-
}//d
|
56
|
-
|
57
|
-
var siki = str;
|
58
|
-
|
59
|
-
var sikilong = siki.length;
|
60
|
-
|
61
|
-
var sisoku = new Array();
|
62
|
-
|
63
|
-
sisoku[0] = '+';
|
64
|
-
|
65
|
-
sisoku[1] = '-';
|
66
|
-
|
67
|
-
sisoku[2] = '*';
|
68
|
-
|
69
|
-
sisoku[3] = '/';
|
70
|
-
|
71
|
-
var sisokunum = 0;
|
72
|
-
|
73
|
-
for (var cntstrnum=0
|
74
|
-
|
75
|
-
var chk = siki.charAt(cntstrnum);
|
76
|
-
|
77
|
-
for (var cnta = 0
|
78
|
-
|
79
|
-
if (chk == sisoku[cnta]){//g
|
80
|
-
|
81
|
-
sisokunum = sisokunum + 1;
|
82
|
-
|
83
|
-
}//g
|
84
|
-
|
85
|
-
}//f
|
86
|
-
|
87
|
-
}//e
|
88
|
-
|
89
|
-
if (sisokunum == 0){//h
|
90
|
-
|
91
|
-
alert("答え:" + siki);
|
92
|
-
|
93
|
-
return;
|
94
|
-
|
95
|
-
}//h
|
96
|
-
|
97
|
-
//×÷の計算
|
98
|
-
|
99
|
-
var nisokukw = 0;
|
100
|
-
|
101
|
-
for (var cntnuma=0
|
102
|
-
|
103
|
-
var chk = siki.charAt(cntnuma);
|
104
|
-
|
105
|
-
for (var cntb=2
|
106
|
-
|
107
|
-
if (chk == sisoku[cntb]){//3
|
108
|
-
|
109
|
-
nisokukw = nisokukw + 1;
|
110
|
-
|
111
|
-
}//3
|
112
|
-
|
113
|
-
}//2
|
114
|
-
|
115
|
-
}//1
|
116
|
-
|
117
|
-
var kakerupo = -1;
|
118
|
-
|
119
|
-
var warupo = -1;
|
120
|
-
|
121
|
-
for (var cntmaina=0
|
122
|
-
|
123
|
-
for (var cntc=2
|
124
|
-
|
125
|
-
if (siki.indexOf(sisoku[cntc]) != -1){//6
|
126
|
-
|
127
|
-
if (cntc == 2){//7
|
128
|
-
|
129
|
-
kakerupo = siki.indexOf(sisoku[cntc]);
|
130
|
-
|
131
|
-
}else if (cntc == 3){//7
|
132
|
-
|
133
|
-
warupo = siki.indexOf(sisoku[cntc]);
|
134
|
-
|
135
|
-
}//7
|
136
|
-
|
137
|
-
}//6
|
138
|
-
|
139
|
-
}//5
|
140
|
-
|
141
|
-
if (kakerupo != -1 && warupo != -1){//8
|
142
|
-
|
143
|
-
if (kakerupo > warupo){//9
|
144
|
-
|
145
|
-
var levelrl = kakerupo;
|
146
|
-
|
147
|
-
}else{//9
|
148
|
-
|
149
|
-
var levelrl = warupo;
|
150
|
-
|
151
|
-
}//9
|
152
|
-
|
153
|
-
}else if (kakerupo != -1){//8
|
154
|
-
|
155
|
-
var levelrl = kakerupo;
|
156
|
-
|
157
|
-
}else if (warupo != -1){//8
|
158
|
-
|
159
|
-
var levelrl = warupo;
|
160
|
-
|
161
|
-
}//8
|
162
|
-
|
163
|
-
var levelll = -1;
|
164
|
-
|
165
|
-
for (var cntd=levelrl-1
|
166
|
-
|
167
|
-
if (levelll != -1){//j
|
168
|
-
|
169
|
-
break;
|
170
|
-
|
171
|
-
}//j
|
172
|
-
|
173
|
-
for (var cntnumb=0
|
174
|
-
|
175
|
-
if (siki.charAt(cntd) == sisoku[cntnumb]){//l
|
176
|
-
|
177
|
-
var levelll = cntd + 1;
|
178
|
-
|
179
|
-
break;
|
180
|
-
|
181
|
-
}//l
|
182
|
-
|
183
|
-
if (levelll != -1){//m
|
184
|
-
|
185
|
-
break;
|
186
|
-
|
187
|
-
}//m
|
188
|
-
|
189
|
-
}//k
|
190
|
-
|
191
|
-
}//i
|
192
|
-
|
193
|
-
if (levelll == -1){//n
|
194
|
-
|
195
|
-
levelll = 0;
|
196
|
-
|
197
|
-
}//n
|
198
|
-
|
199
|
-
a = siki.substring(levelll,levelrl);
|
200
|
-
|
201
|
-
sikipa = siki.substring(0,levelll);
|
202
|
-
|
203
|
-
var levellr = levelrl;
|
204
|
-
|
205
|
-
var levelrr = -1;
|
206
|
-
|
207
|
-
for (var cnte=levellr+1
|
208
|
-
|
209
|
-
for (var cntnumc=0
|
210
|
-
|
211
|
-
if (siki.charAt(cnte) == sisoku[cntnumc]){//q
|
212
|
-
|
213
|
-
levelrr = siki.charAt(cnte);
|
214
|
-
|
215
|
-
break;
|
216
|
-
|
217
|
-
}//q
|
218
|
-
|
219
|
-
if (levelrr != -1){//r
|
220
|
-
|
221
|
-
break;
|
222
|
-
|
223
|
-
}//r
|
224
|
-
|
225
|
-
}//p
|
226
|
-
|
227
|
-
if (levelrr != -1){///u
|
228
|
-
|
229
|
-
break;
|
230
|
-
|
231
|
-
}///u
|
232
|
-
|
233
|
-
}//o
|
234
|
-
|
235
|
-
if (levelrr == -1){//s
|
236
|
-
|
237
|
-
levelrr = sikilong;
|
238
|
-
|
239
|
-
}//s
|
240
|
-
|
241
|
-
b = siki.substring(levellr+1,levelrr);
|
242
|
-
|
243
|
-
sikipb = siki.substring(levellr+1,sikilong);
|
244
|
-
|
245
|
-
if (levelrl = sisoku[2]){//t
|
246
|
-
|
247
|
-
en = a * b;
|
248
|
-
|
249
|
-
}else if (levelrl == sisoku[3]){//t
|
250
|
-
|
251
|
-
en = a / b;
|
252
|
-
|
253
|
-
}//t
|
254
|
-
|
255
|
-
siki = sikipa + en + sikipb;
|
256
|
-
|
257
|
-
sikilong = siki.length;
|
258
|
-
|
259
|
-
}//4
|
260
|
-
|
261
|
-
//+-の計算
|
262
|
-
|
263
|
-
var nisokuth = 0;
|
264
|
-
|
265
|
-
for (var cntf=0
|
266
|
-
|
267
|
-
for (var cntnumd=0; cntnumd<4
|
268
|
-
|
269
|
-
if (sisoku[cntnumd] == siki.charAt(cntf)){
|
270
|
-
|
271
|
-
nisokuth++;
|
272
|
-
|
273
|
-
}
|
274
|
-
|
275
|
-
}
|
276
|
-
|
277
|
-
}
|
278
|
-
|
279
|
-
for (var cntmainb=0
|
280
|
-
|
281
|
-
var middle = -1;
|
282
|
-
|
283
|
-
for (var cntg=0
|
284
|
-
|
285
|
-
for (var cntnume=0
|
286
|
-
|
287
|
-
if (sisoku[cntnume] == siki.charAt(cntg)){//4
|
288
|
-
|
289
|
-
var middle = cntg;
|
290
|
-
|
291
|
-
break;
|
292
|
-
|
293
|
-
}//4
|
294
|
-
|
295
|
-
if (middle != -1){//5
|
296
|
-
|
297
|
-
break;
|
298
|
-
|
299
|
-
}//5
|
300
|
-
|
301
|
-
}//3
|
302
|
-
|
303
|
-
if (middle = -1){
|
304
|
-
|
305
|
-
break;
|
306
|
-
|
307
|
-
}
|
308
|
-
|
309
|
-
var lrright = -1;
|
310
|
-
|
311
|
-
var llleft = 0;
|
312
|
-
|
313
|
-
var llright = middle - 1;
|
314
|
-
|
315
|
-
var lrleft = middle + 1;
|
316
|
-
|
317
|
-
for (var cntaa = lrleft
|
318
|
-
|
319
|
-
for (var cntnumaa = 0
|
320
|
-
|
321
|
-
if (sisoku[cntnumaa] == siki.charAt(cntaa)){
|
322
|
-
|
323
|
-
lrright = cntaa - 1;
|
324
|
-
|
325
|
-
break;
|
326
|
-
|
327
|
-
}
|
328
|
-
|
329
|
-
}
|
330
|
-
|
331
|
-
if (lrright == -1){
|
332
|
-
|
333
|
-
lrlight = sikilong;
|
334
|
-
|
335
|
-
}
|
336
|
-
|
337
|
-
}
|
338
|
-
|
339
|
-
var a = siki.substring(llleft,llright);
|
340
|
-
|
341
|
-
var b = siki.substring(lrleft,lrright);
|
342
|
-
|
343
|
-
if (siki.charAt(middle) == sisoku[0]){
|
344
|
-
|
345
|
-
en = a + b;
|
346
|
-
|
347
|
-
}else if (siki.charAt(middle) = sisoku[1]){
|
348
|
-
|
349
|
-
en = a - b;
|
350
|
-
|
351
|
-
}
|
352
|
-
|
353
|
-
var sikipb = substring(lrright,sikilong);
|
354
|
-
|
355
|
-
siki = en + sikipb;
|
356
|
-
|
357
|
-
}//2
|
358
|
-
|
359
|
-
if (middle == -1){
|
360
|
-
|
361
|
-
alert("答え:" + siki);
|
362
|
-
|
363
|
-
return;
|
364
|
-
|
365
|
-
}
|
366
|
-
|
367
|
-
}//1
|
368
|
-
|
369
|
-
/*}catch(e){
|
370
|
-
|
371
|
-
alert("式が不適合もしくはエラーです。");
|
372
|
-
|
373
|
-
return;
|
374
|
-
|
375
|
-
}
|
376
|
-
|
377
|
-
finally{
|
378
|
-
|
379
|
-
return;
|
380
|
-
|
381
|
-
}*/
|
382
|
-
|
383
|
-
}//a
|
29
|
+
function keisan() { //a
|
30
|
+
|
31
|
+
/*try{*/
|
32
|
+
|
33
|
+
var chk1 = 0
|
34
|
+
|
35
|
+
var str = document.siki.mainsiki.value;
|
36
|
+
|
37
|
+
var strlong = str.length;
|
38
|
+
|
39
|
+
for (var cnt = 0; cnt < 10; cnt++) { //b
|
40
|
+
|
41
|
+
if (str.indexOf(cnt, 0) != 0) { //c
|
42
|
+
|
43
|
+
chk1++
|
44
|
+
|
45
|
+
} //c
|
46
|
+
|
47
|
+
} //b
|
48
|
+
|
49
|
+
if (chk1 > 9) { //d
|
50
|
+
|
51
|
+
alert("最初の文字は数字にしてください");
|
52
|
+
|
53
|
+
return;
|
54
|
+
|
55
|
+
} //d
|
56
|
+
|
57
|
+
var siki = str;
|
58
|
+
|
59
|
+
var sikilong = siki.length;
|
60
|
+
|
61
|
+
var sisoku = new Array();
|
62
|
+
|
63
|
+
sisoku[0] = '+';
|
64
|
+
|
65
|
+
sisoku[1] = '-';
|
66
|
+
|
67
|
+
sisoku[2] = '*';
|
68
|
+
|
69
|
+
sisoku[3] = '/';
|
70
|
+
|
71
|
+
var sisokunum = 0;
|
72
|
+
|
73
|
+
for (var cntstrnum = 0; cntstrnum < sikilong; cntstrnum++) { //e
|
74
|
+
|
75
|
+
var chk = siki.charAt(cntstrnum);
|
76
|
+
|
77
|
+
for (var cnta = 0; cnta < 4; cnta++) { //f
|
78
|
+
|
79
|
+
if (chk == sisoku[cnta]) { //g
|
80
|
+
|
81
|
+
sisokunum = sisokunum + 1;
|
82
|
+
|
83
|
+
} //g
|
84
|
+
|
85
|
+
} //f
|
86
|
+
|
87
|
+
} //e
|
88
|
+
|
89
|
+
if (sisokunum == 0) { //h
|
90
|
+
|
91
|
+
alert("答え:" + siki);
|
92
|
+
|
93
|
+
return;
|
94
|
+
|
95
|
+
} //h
|
96
|
+
|
97
|
+
//×÷の計算
|
98
|
+
|
99
|
+
var nisokukw = 0;
|
100
|
+
|
101
|
+
for (var cntnuma = 0; cntnuma < sikilong; cntnuma++) { //1
|
102
|
+
|
103
|
+
var chk = siki.charAt(cntnuma);
|
104
|
+
|
105
|
+
for (var cntb = 2; cntb < 4; cntb++) { //2
|
106
|
+
|
107
|
+
if (chk == sisoku[cntb]) { //3
|
108
|
+
|
109
|
+
nisokukw = nisokukw + 1;
|
110
|
+
|
111
|
+
} //3
|
112
|
+
|
113
|
+
} //2
|
114
|
+
|
115
|
+
} //1
|
116
|
+
|
117
|
+
var kakerupo = -1;
|
118
|
+
|
119
|
+
var warupo = -1;
|
120
|
+
|
121
|
+
for (var cntmaina = 0; cntmaina <= nisokukw; cntmaina++) { //4
|
122
|
+
|
123
|
+
for (var cntc = 2; cntc < 4; cntc++) { //5
|
124
|
+
|
125
|
+
if (siki.indexOf(sisoku[cntc]) != -1) { //6
|
126
|
+
|
127
|
+
if (cntc == 2) { //7
|
128
|
+
|
129
|
+
kakerupo = siki.indexOf(sisoku[cntc]);
|
130
|
+
|
131
|
+
} else if (cntc == 3) { //7
|
132
|
+
|
133
|
+
warupo = siki.indexOf(sisoku[cntc]);
|
134
|
+
|
135
|
+
} //7
|
136
|
+
|
137
|
+
} //6
|
138
|
+
|
139
|
+
} //5
|
140
|
+
|
141
|
+
if (kakerupo != -1 && warupo != -1) { //8
|
142
|
+
|
143
|
+
if (kakerupo > warupo) { //9
|
144
|
+
|
145
|
+
var levelrl = kakerupo;
|
146
|
+
|
147
|
+
} else { //9
|
148
|
+
|
149
|
+
var levelrl = warupo;
|
150
|
+
|
151
|
+
} //9
|
152
|
+
|
153
|
+
} else if (kakerupo != -1) { //8
|
154
|
+
|
155
|
+
var levelrl = kakerupo;
|
156
|
+
|
157
|
+
} else if (warupo != -1) { //8
|
158
|
+
|
159
|
+
var levelrl = warupo;
|
160
|
+
|
161
|
+
} //8
|
162
|
+
|
163
|
+
var levelll = -1;
|
164
|
+
|
165
|
+
for (var cntd = levelrl - 1; cntd >= 0; cntd--) { //i
|
166
|
+
|
167
|
+
if (levelll != -1) { //j
|
168
|
+
|
169
|
+
break;
|
170
|
+
|
171
|
+
} //j
|
172
|
+
|
173
|
+
for (var cntnumb = 0; cntnumb < 4; cntnumb++) { //k
|
174
|
+
|
175
|
+
if (siki.charAt(cntd) == sisoku[cntnumb]) { //l
|
176
|
+
|
177
|
+
var levelll = cntd + 1;
|
178
|
+
|
179
|
+
break;
|
180
|
+
|
181
|
+
} //l
|
182
|
+
|
183
|
+
if (levelll != -1) { //m
|
184
|
+
|
185
|
+
break;
|
186
|
+
|
187
|
+
} //m
|
188
|
+
|
189
|
+
} //k
|
190
|
+
|
191
|
+
} //i
|
192
|
+
|
193
|
+
if (levelll == -1) { //n
|
194
|
+
|
195
|
+
levelll = 0;
|
196
|
+
|
197
|
+
} //n
|
198
|
+
|
199
|
+
a = siki.substring(levelll, levelrl);
|
200
|
+
|
201
|
+
sikipa = siki.substring(0, levelll);
|
202
|
+
|
203
|
+
var levellr = levelrl;
|
204
|
+
|
205
|
+
var levelrr = -1;
|
206
|
+
|
207
|
+
for (var cnte = levellr + 1; cnte < sikilong; cnte++) { //o
|
208
|
+
|
209
|
+
for (var cntnumc = 0; cntnumc < 4; cntnumc++) { //p
|
210
|
+
|
211
|
+
if (siki.charAt(cnte) == sisoku[cntnumc]) { //q
|
212
|
+
|
213
|
+
levelrr = siki.charAt(cnte);
|
214
|
+
|
215
|
+
break;
|
216
|
+
|
217
|
+
} //q
|
218
|
+
|
219
|
+
if (levelrr != -1) { //r
|
220
|
+
|
221
|
+
break;
|
222
|
+
|
223
|
+
} //r
|
224
|
+
|
225
|
+
} //p
|
226
|
+
|
227
|
+
if (levelrr != -1) { ///u
|
228
|
+
|
229
|
+
break;
|
230
|
+
|
231
|
+
} ///u
|
232
|
+
|
233
|
+
} //o
|
234
|
+
|
235
|
+
if (levelrr == -1) { //s
|
236
|
+
|
237
|
+
levelrr = sikilong;
|
238
|
+
|
239
|
+
} //s
|
240
|
+
|
241
|
+
b = siki.substring(levellr + 1, levelrr);
|
242
|
+
|
243
|
+
sikipb = siki.substring(levellr + 1, sikilong);
|
244
|
+
|
245
|
+
if (levelrl = sisoku[2]) { //t
|
246
|
+
|
247
|
+
en = a * b;
|
248
|
+
|
249
|
+
} else if (levelrl == sisoku[3]) { //t
|
250
|
+
|
251
|
+
en = a / b;
|
252
|
+
|
253
|
+
} //t
|
254
|
+
|
255
|
+
siki = sikipa + en + sikipb;
|
256
|
+
|
257
|
+
sikilong = siki.length;
|
258
|
+
|
259
|
+
} //4
|
260
|
+
|
261
|
+
//+-の計算
|
262
|
+
|
263
|
+
var nisokuth = 0;
|
264
|
+
|
265
|
+
for (var cntf = 0; cntf <= sikilong; cntf++) {
|
266
|
+
|
267
|
+
for (var cntnumd = 0; cntnumd < 4; cntnumd++) {
|
268
|
+
|
269
|
+
if (sisoku[cntnumd] == siki.charAt(cntf)) {
|
270
|
+
|
271
|
+
nisokuth++;
|
272
|
+
|
273
|
+
}
|
274
|
+
|
275
|
+
}
|
276
|
+
|
277
|
+
}
|
278
|
+
|
279
|
+
for (var cntmainb = 0; cntmainb <= nisokuth; cntmainb++) { //1
|
280
|
+
|
281
|
+
var middle = -1;
|
282
|
+
|
283
|
+
for (var cntg = 0; cntg < sikilong; cntg++) { //2
|
284
|
+
|
285
|
+
for (var cntnume = 0; cntnume < 2; cntnume++) { //3
|
286
|
+
|
287
|
+
if (sisoku[cntnume] == siki.charAt(cntg)) { //4
|
288
|
+
|
289
|
+
var middle = cntg;
|
290
|
+
|
291
|
+
break;
|
292
|
+
|
293
|
+
} //4
|
294
|
+
|
295
|
+
if (middle != -1) { //5
|
296
|
+
|
297
|
+
break;
|
298
|
+
|
299
|
+
} //5
|
300
|
+
|
301
|
+
} //3
|
302
|
+
|
303
|
+
if (middle = -1) {
|
304
|
+
|
305
|
+
break;
|
306
|
+
|
307
|
+
}
|
308
|
+
|
309
|
+
var lrright = -1;
|
310
|
+
|
311
|
+
var llleft = 0;
|
312
|
+
|
313
|
+
var llright = middle - 1;
|
314
|
+
|
315
|
+
var lrleft = middle + 1;
|
316
|
+
|
317
|
+
for (var cntaa = lrleft; cntaa < sikilong - lrleft + 1; cntaa++) {
|
318
|
+
|
319
|
+
for (var cntnumaa = 0; cntnumaa < 2; cntnumaa++) {
|
320
|
+
|
321
|
+
if (sisoku[cntnumaa] == siki.charAt(cntaa)) {
|
322
|
+
|
323
|
+
lrright = cntaa - 1;
|
324
|
+
|
325
|
+
break;
|
326
|
+
|
327
|
+
}
|
328
|
+
|
329
|
+
}
|
330
|
+
|
331
|
+
if (lrright == -1) {
|
332
|
+
|
333
|
+
lrlight = sikilong;
|
334
|
+
|
335
|
+
}
|
336
|
+
|
337
|
+
}
|
338
|
+
|
339
|
+
var a = siki.substring(llleft, llright);
|
340
|
+
|
341
|
+
var b = siki.substring(lrleft, lrright);
|
342
|
+
|
343
|
+
if (siki.charAt(middle) == sisoku[0]) {
|
344
|
+
|
345
|
+
en = a + b;
|
346
|
+
|
347
|
+
} else if (siki.charAt(middle) = sisoku[1]) {
|
348
|
+
|
349
|
+
en = a - b;
|
350
|
+
|
351
|
+
}
|
352
|
+
|
353
|
+
var sikipb = substring(lrright, sikilong);
|
354
|
+
|
355
|
+
siki = en + sikipb;
|
356
|
+
|
357
|
+
} //2
|
358
|
+
|
359
|
+
if (middle == -1) {
|
360
|
+
|
361
|
+
alert("答え:" + siki);
|
362
|
+
|
363
|
+
return;
|
364
|
+
|
365
|
+
}
|
366
|
+
|
367
|
+
} //1
|
368
|
+
|
369
|
+
/*}catch(e){
|
370
|
+
|
371
|
+
alert("式が不適合もしくはエラーです。");
|
372
|
+
|
373
|
+
return;
|
374
|
+
|
375
|
+
}
|
376
|
+
|
377
|
+
finally{
|
378
|
+
|
379
|
+
return;
|
380
|
+
|
381
|
+
}*/
|
382
|
+
|
383
|
+
} //a
|
384
384
|
|
385
385
|
```
|
386
386
|
|