質問編集履歴

4

現状の実行結果を提示させていただきました

2021/10/08 00:37

投稿

8Hachikou8
8Hachikou8

スコア3

test CHANGED
File without changes
test CHANGED
@@ -46,6 +46,40 @@
46
46
 
47
47
 
48
48
 
49
+ 現状の実行結果
50
+
51
+ push:
52
+
53
+ Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 5
54
+
55
+ aMyStack()
56
+
57
+ aMyStack(null, abc)
58
+
59
+ aMyStack(null, abc, def)
60
+
61
+ ghi
62
+
63
+ pop: def
64
+
65
+ aMyStack(null, abc)
66
+
67
+ pop: abc
68
+
69
+ aMyStack(null)
70
+
71
+ pop: null
72
+
73
+ aMyStack()
74
+
75
+ at ex5.MyStack.pop(MyStack.java:37)
76
+
77
+ at ex5.MyStack.main(MyStack.java:99)
78
+
79
+
80
+
81
+
82
+
49
83
  元のコード``````Java
50
84
 
51
85
  javaのコード
@@ -220,7 +254,7 @@
220
254
 
221
255
 
222
256
 
223
- 実装したコード```java
257
+ ```java
224
258
 
225
259
  コード
226
260
 
@@ -459,5 +493,3 @@
459
493
  }
460
494
 
461
495
  ```
462
-
463
- ```

3

これで平気でしょうか。お願いします

2021/10/08 00:37

投稿

8Hachikou8
8Hachikou8

スコア3

test CHANGED
File without changes
test CHANGED
@@ -218,252 +218,246 @@
218
218
 
219
219
  }
220
220
 
221
+
222
+
223
+ 実装したコード```java
224
+
225
+ コード
226
+
227
+ package ex5;
228
+
229
+
230
+
231
+ public class MyStack {
232
+
233
+ // 要素を入れる配列
234
+
235
+ private String[] items;
236
+
237
+ // スタックの最大サイズ
238
+
239
+ private int size;
240
+
241
+ // 空き場所を指すインデックス
242
+
243
+ private int sp;
244
+
245
+
246
+
247
+ public MyStack(int size) {
248
+
249
+ // TODO: メンバの初期化
250
+
251
+ this.size=size;
252
+
253
+ this.items = new String[5];
254
+
255
+ }
256
+
257
+
258
+
259
+ /**
260
+
261
+ * 要素を追加する
262
+
263
+ */
264
+
265
+ public void push(String str) {
266
+
267
+ // TODO: 実装する
268
+
269
+ if (!isFull()) {
270
+
271
+
272
+
273
+ items[++sp] = str;
274
+
275
+ }
276
+
277
+ }
278
+
279
+
280
+
281
+ /**
282
+
283
+ * トップ(最後に入れられた)要素を取り出して返す
284
+
285
+ *
286
+
287
+ * @return 要素。空なら null
288
+
289
+ *java.lang.ArrayIndexOutOfBoundsException:配列の外の値を指定している
290
+
291
+ */
292
+
293
+ public String pop() {
294
+
295
+ // TODO: 実装する
296
+
297
+ if (!isEmpty()) {
298
+
299
+ return items[--sp];//sp--は指定した後-1を引く
300
+
301
+ } else {
302
+
303
+ System.out.println("pop エラー");
304
+
305
+ return null;
306
+
307
+ }
308
+
309
+ }
310
+
311
+
312
+
313
+ /**
314
+
315
+ * トップ(最後に入れられた)要素を取り出さずに参照する
316
+
317
+ *
318
+
319
+ * @return トップ要素。空なら null
320
+
321
+ */
322
+
323
+ public String top() {
324
+
325
+ // TODO: 実装する
326
+
327
+ if (!isEmpty()) {
328
+
329
+ return items[sp];
330
+
331
+ } else {
332
+
333
+ System.out.println("top エラー"); // 空ならエラーを表示する
334
+
335
+ return null;
336
+
337
+ }
338
+
339
+ }
340
+
341
+
342
+
343
+ /**
344
+
345
+ * @return 空であるかどうか
346
+
347
+ **/
348
+
349
+ public boolean isEmpty() {
350
+
351
+ // TODO: 実装する
352
+
353
+ if (sp<0) {
354
+
355
+ return true;
356
+
357
+ } else {
358
+
359
+ return false;
360
+
361
+ }
362
+
363
+ }
364
+
365
+
366
+
367
+ //満タンかどうか
368
+
369
+ public boolean isFull() {
370
+
371
+ if (sp>=size) {
372
+
373
+ return true;
374
+
375
+ } else {
376
+
377
+ return false;
378
+
379
+ }
380
+
381
+ }
382
+
383
+
384
+
385
+ public String toString() {
386
+
387
+ String[] actives = new String[sp];
388
+
389
+ for (int i = 0; i < sp; i++) {
390
+
391
+ actives[i] = items[i];
392
+
393
+ }
394
+
395
+ return "aMyStack(" + String.join(", ", actives) + ")";
396
+
397
+ }
398
+
399
+
400
+
401
+ public static void main(String[] args) {
402
+
403
+ MyStack stack = new MyStack(5);
404
+
405
+ System.out.println("push:");
406
+
407
+ System.out.println(stack);
408
+
409
+ stack.push("abc");
410
+
411
+ stack.push("def");
412
+
413
+ System.out.println(stack);
414
+
415
+ stack.push("ghi");
416
+
417
+ System.out.println(stack);
418
+
419
+ System.out.println(stack.top());
420
+
421
+ while (!stack.isEmpty()) {
422
+
423
+ System.out.println("pop: " + stack.pop());
424
+
425
+ System.out.println(stack);
426
+
427
+ }
428
+
429
+ System.out.println("エラーテスト");
430
+
431
+ System.out.println(stack);
432
+
433
+ stack.pop(); // 空のはずなのにpop!
434
+
435
+ stack.top(); // 空のはずなのにtop!
436
+
437
+ System.out.println(stack);
438
+
439
+ stack.push("1");
440
+
441
+ stack.push("2");
442
+
443
+ stack.push("3");
444
+
445
+ stack.push("4");
446
+
447
+ System.out.println(stack);
448
+
449
+ stack.push("5");
450
+
451
+ System.out.println(stack);
452
+
453
+ stack.push("6"); // 一杯なはずなのにpush!
454
+
455
+ System.out.println(stack);
456
+
457
+ }
458
+
459
+ }
460
+
221
461
  ```
222
462
 
223
-
224
-
225
-
226
-
227
-
228
-
229
-
230
-
231
- 実装したコード```java
232
-
233
- コード
234
-
235
- package ex5;
236
-
237
-
238
-
239
- public class MyStack {
240
-
241
- // 要素を入れる配列
242
-
243
- private String[] items;
244
-
245
- // スタックの最大サイズ
246
-
247
- private int size;
248
-
249
- // 空き場所を指すインデックス
250
-
251
- private int sp;
252
-
253
-
254
-
255
- public MyStack(int size) {
256
-
257
- // TODO: メンバの初期化
258
-
259
- this.size=size;
260
-
261
- this.items = new String[5];
262
-
263
- }
264
-
265
-
266
-
267
- /**
268
-
269
- * 要素を追加する
270
-
271
- */
272
-
273
- public void push(String str) {
274
-
275
- // TODO: 実装する
276
-
277
- if (!isFull()) {
278
-
279
-
280
-
281
- items[++sp] = str;
282
-
283
- }
284
-
285
- }
286
-
287
-
288
-
289
- /**
290
-
291
- * トップ(最後に入れられた)要素を取り出して返す
292
-
293
- *
294
-
295
- * @return 要素。空なら null
296
-
297
- *java.lang.ArrayIndexOutOfBoundsException:配列の外の値を指定している
298
-
299
- */
300
-
301
- public String pop() {
302
-
303
- // TODO: 実装する
304
-
305
- if (!isEmpty()) {
306
-
307
- return items[--sp];//sp--は指定した後-1を引く
308
-
309
- } else {
310
-
311
- System.out.println("pop エラー");
312
-
313
- return null;
314
-
315
- }
316
-
317
- }
318
-
319
-
320
-
321
- /**
322
-
323
- * トップ(最後に入れられた)要素を取り出さずに参照する
324
-
325
- *
326
-
327
- * @return トップ要素。空なら null
328
-
329
- */
330
-
331
- public String top() {
332
-
333
- // TODO: 実装する
334
-
335
- if (!isEmpty()) {
336
-
337
- return items[sp];
338
-
339
- } else {
340
-
341
- System.out.println("top エラー"); // 空ならエラーを表示する
342
-
343
- return null;
344
-
345
- }
346
-
347
- }
348
-
349
-
350
-
351
- /**
352
-
353
- * @return 空であるかどうか
354
-
355
- **/
356
-
357
- public boolean isEmpty() {
358
-
359
- // TODO: 実装する
360
-
361
- if (sp<0) {
362
-
363
- return true;
364
-
365
- } else {
366
-
367
- return false;
368
-
369
- }
370
-
371
- }
372
-
373
-
374
-
375
- //満タンかどうか
376
-
377
- public boolean isFull() {
378
-
379
- if (sp>=size) {
380
-
381
- return true;
382
-
383
- } else {
384
-
385
- return false;
386
-
387
- }
388
-
389
- }
390
-
391
-
392
-
393
- public String toString() {
394
-
395
- String[] actives = new String[sp];
396
-
397
- for (int i = 0; i < sp; i++) {
398
-
399
- actives[i] = items[i];
400
-
401
- }
402
-
403
- return "aMyStack(" + String.join(", ", actives) + ")";
404
-
405
- }
406
-
407
-
408
-
409
- public static void main(String[] args) {
410
-
411
- MyStack stack = new MyStack(5);
412
-
413
- System.out.println("push:");
414
-
415
- System.out.println(stack);
416
-
417
- stack.push("abc");
418
-
419
- stack.push("def");
420
-
421
- System.out.println(stack);
422
-
423
- stack.push("ghi");
424
-
425
- System.out.println(stack);
426
-
427
- System.out.println(stack.top());
428
-
429
- while (!stack.isEmpty()) {
430
-
431
- System.out.println("pop: " + stack.pop());
432
-
433
- System.out.println(stack);
434
-
435
- }
436
-
437
- System.out.println("エラーテスト");
438
-
439
- System.out.println(stack);
440
-
441
- stack.pop(); // 空のはずなのにpop!
442
-
443
- stack.top(); // 空のはずなのにtop!
444
-
445
- System.out.println(stack);
446
-
447
- stack.push("1");
448
-
449
- stack.push("2");
450
-
451
- stack.push("3");
452
-
453
- stack.push("4");
454
-
455
- System.out.println(stack);
456
-
457
- stack.push("5");
458
-
459
- System.out.println(stack);
460
-
461
- stack.push("6"); // 一杯なはずなのにpush!
462
-
463
- System.out.println(stack);
464
-
465
- }
466
-
467
- }
468
-
469
463
  ```

2

これで平気でしょうか。お願いします

2021/10/07 11:39

投稿

8Hachikou8
8Hachikou8

スコア3

test CHANGED
File without changes
test CHANGED
@@ -46,9 +46,11 @@
46
46
 
47
47
 
48
48
 
49
- 元のコード```java
49
+ 元のコード``````Java
50
+
50
-
51
+ javaのコード
52
+
51
- コード public class MyStack {
53
+ ``` public class MyStack {
52
54
 
53
55
  private String[] items; // 要素を入れる配列
54
56
 

1

これで平気でしょうか。お願いします

2021/10/07 11:38

投稿

8Hachikou8
8Hachikou8

スコア3

test CHANGED
File without changes
test CHANGED
@@ -48,416 +48,420 @@
48
48
 
49
49
  元のコード```java
50
50
 
51
+ コード public class MyStack {
52
+
53
+ private String[] items; // 要素を入れる配列
54
+
55
+ private int size; // スタックの最大サイズ
56
+
57
+ private int sp; // 空き場所を指すインデックス
58
+
59
+
60
+
61
+ public MyStack(int size) {
62
+
63
+ // TODO: メンバの初期化
64
+
65
+ }
66
+
67
+
68
+
69
+ /**
70
+
71
+ * 要素を追加する
72
+
73
+ */
74
+
75
+ public void push(String str) {
76
+
77
+ // TODO: 実装する
78
+
79
+ }
80
+
81
+
82
+
83
+ /**
84
+
85
+ * トップ(最後に入れられた)要素を取り出して返す
86
+
87
+ *
88
+
89
+ * @return 要素。空なら null
90
+
91
+ */
92
+
93
+ public String pop() {
94
+
95
+ // TODO: 実装する
96
+
97
+ // System.out.println("pop エラー"); // 空ならエラーを表示する
98
+
99
+ return null;
100
+
101
+ }
102
+
103
+
104
+
105
+ /**
106
+
107
+ * トップ(最後に入れられた)要素を取り出さずに参照する
108
+
109
+ *
110
+
111
+ * @return トップ要素。空なら null
112
+
113
+ */
114
+
115
+ public String top() {
116
+
117
+ // TODO: 実装する
118
+
119
+ // System.out.println("top エラー"); // 空ならエラーを表示する
120
+
121
+ return null;
122
+
123
+ }
124
+
125
+
126
+
127
+ /**
128
+
129
+ * @return 空であるかどうか
130
+
131
+ **/
132
+
133
+ public boolean isEmpty() {
134
+
135
+ // TODO: 実装する
136
+
137
+ return true;
138
+
139
+ }
140
+
141
+
142
+
143
+ public String toString() {
144
+
145
+ String[] actives = new String[sp];
146
+
147
+ for (int i = 0; i < sp; i++) {
148
+
149
+ actives[i] = items[i];
150
+
151
+ }
152
+
153
+ return "aMyStack(" + String.join(", ", actives) + ")";
154
+
155
+ }
156
+
157
+
158
+
159
+ public static void main(String[] args) {
160
+
161
+ MyStack stack = new MyStack(5);
162
+
163
+ System.out.println("push:");
164
+
165
+ System.out.println(stack);
166
+
167
+ stack.push("abc");
168
+
169
+ stack.push("def");
170
+
171
+ System.out.println(stack);
172
+
173
+ stack.push("ghi");
174
+
175
+ System.out.println(stack);
176
+
177
+ System.out.println(stack.top());
178
+
179
+ while (!stack.isEmpty()) {
180
+
181
+ System.out.println("pop: " + stack.pop());
182
+
183
+ System.out.println(stack);
184
+
185
+ }
186
+
187
+ System.out.println("エラーテスト");
188
+
189
+ System.out.println(stack);
190
+
191
+ stack.pop(); // 空のはずなのにpop!
192
+
193
+ stack.top(); // 空のはずなのにtop!
194
+
195
+ System.out.println(stack);
196
+
197
+ stack.push("1");
198
+
199
+ stack.push("2");
200
+
201
+ stack.push("3");
202
+
203
+ stack.push("4");
204
+
205
+ System.out.println(stack);
206
+
207
+ stack.push("5");
208
+
209
+ System.out.println(stack);
210
+
211
+ stack.push("6"); // 一杯なはずなのにpush!
212
+
213
+ System.out.println(stack);
214
+
215
+ }
216
+
217
+ }
218
+
219
+ ```
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+ 実装したコード```java
230
+
51
231
  コード
52
232
 
233
+ package ex5;
234
+
235
+
236
+
237
+ public class MyStack {
238
+
239
+ // 要素を入れる配列
240
+
241
+ private String[] items;
242
+
243
+ // スタックの最大サイズ
244
+
245
+ private int size;
246
+
247
+ // 空き場所を指すインデックス
248
+
249
+ private int sp;
250
+
251
+
252
+
253
+ public MyStack(int size) {
254
+
255
+ // TODO: メンバの初期化
256
+
257
+ this.size=size;
258
+
259
+ this.items = new String[5];
260
+
261
+ }
262
+
263
+
264
+
265
+ /**
266
+
267
+ * 要素を追加する
268
+
269
+ */
270
+
271
+ public void push(String str) {
272
+
273
+ // TODO: 実装する
274
+
275
+ if (!isFull()) {
276
+
277
+
278
+
279
+ items[++sp] = str;
280
+
281
+ }
282
+
283
+ }
284
+
285
+
286
+
287
+ /**
288
+
289
+ * トップ(最後に入れられた)要素を取り出して返す
290
+
291
+ *
292
+
293
+ * @return 要素。空なら null
294
+
295
+ *java.lang.ArrayIndexOutOfBoundsException:配列の外の値を指定している
296
+
297
+ */
298
+
299
+ public String pop() {
300
+
301
+ // TODO: 実装する
302
+
303
+ if (!isEmpty()) {
304
+
305
+ return items[--sp];//sp--は指定した後-1を引く
306
+
307
+ } else {
308
+
309
+ System.out.println("pop エラー");
310
+
311
+ return null;
312
+
313
+ }
314
+
315
+ }
316
+
317
+
318
+
319
+ /**
320
+
321
+ * トップ(最後に入れられた)要素を取り出さずに参照する
322
+
323
+ *
324
+
325
+ * @return トップ要素。空なら null
326
+
327
+ */
328
+
329
+ public String top() {
330
+
331
+ // TODO: 実装する
332
+
333
+ if (!isEmpty()) {
334
+
335
+ return items[sp];
336
+
337
+ } else {
338
+
339
+ System.out.println("top エラー"); // 空ならエラーを表示する
340
+
341
+ return null;
342
+
343
+ }
344
+
345
+ }
346
+
347
+
348
+
349
+ /**
350
+
351
+ * @return 空であるかどうか
352
+
353
+ **/
354
+
355
+ public boolean isEmpty() {
356
+
357
+ // TODO: 実装する
358
+
359
+ if (sp<0) {
360
+
361
+ return true;
362
+
363
+ } else {
364
+
365
+ return false;
366
+
367
+ }
368
+
369
+ }
370
+
371
+
372
+
373
+ //満タンかどうか
374
+
375
+ public boolean isFull() {
376
+
377
+ if (sp>=size) {
378
+
379
+ return true;
380
+
381
+ } else {
382
+
383
+ return false;
384
+
385
+ }
386
+
387
+ }
388
+
389
+
390
+
391
+ public String toString() {
392
+
393
+ String[] actives = new String[sp];
394
+
395
+ for (int i = 0; i < sp; i++) {
396
+
397
+ actives[i] = items[i];
398
+
399
+ }
400
+
401
+ return "aMyStack(" + String.join(", ", actives) + ")";
402
+
403
+ }
404
+
405
+
406
+
407
+ public static void main(String[] args) {
408
+
409
+ MyStack stack = new MyStack(5);
410
+
411
+ System.out.println("push:");
412
+
413
+ System.out.println(stack);
414
+
415
+ stack.push("abc");
416
+
417
+ stack.push("def");
418
+
419
+ System.out.println(stack);
420
+
421
+ stack.push("ghi");
422
+
423
+ System.out.println(stack);
424
+
425
+ System.out.println(stack.top());
426
+
427
+ while (!stack.isEmpty()) {
428
+
429
+ System.out.println("pop: " + stack.pop());
430
+
431
+ System.out.println(stack);
432
+
433
+ }
434
+
435
+ System.out.println("エラーテスト");
436
+
437
+ System.out.println(stack);
438
+
439
+ stack.pop(); // 空のはずなのにpop!
440
+
441
+ stack.top(); // 空のはずなのにtop!
442
+
443
+ System.out.println(stack);
444
+
445
+ stack.push("1");
446
+
447
+ stack.push("2");
448
+
449
+ stack.push("3");
450
+
451
+ stack.push("4");
452
+
453
+ System.out.println(stack);
454
+
455
+ stack.push("5");
456
+
457
+ System.out.println(stack);
458
+
459
+ stack.push("6"); // 一杯なはずなのにpush!
460
+
461
+ System.out.println(stack);
462
+
463
+ }
464
+
465
+ }
466
+
53
467
  ```
54
-
55
- public class MyStack {
56
-
57
- private String[] items; // 要素を入れる配列
58
-
59
- private int size; // スタックの最大サイズ
60
-
61
- private int sp; // 空き場所を指すインデックス
62
-
63
-
64
-
65
- public MyStack(int size) {
66
-
67
- // TODO: メンバの初期化
68
-
69
- }
70
-
71
-
72
-
73
- /**
74
-
75
- * 要素を追加する
76
-
77
- */
78
-
79
- public void push(String str) {
80
-
81
- // TODO: 実装する
82
-
83
- }
84
-
85
-
86
-
87
- /**
88
-
89
- * トップ(最後に入れられた)要素を取り出して返す
90
-
91
- *
92
-
93
- * @return 要素。空なら null
94
-
95
- */
96
-
97
- public String pop() {
98
-
99
- // TODO: 実装する
100
-
101
- // System.out.println("pop エラー"); // 空ならエラーを表示する
102
-
103
- return null;
104
-
105
- }
106
-
107
-
108
-
109
- /**
110
-
111
- * トップ(最後に入れられた)要素を取り出さずに参照する
112
-
113
- *
114
-
115
- * @return トップ要素。空なら null
116
-
117
- */
118
-
119
- public String top() {
120
-
121
- // TODO: 実装する
122
-
123
- // System.out.println("top エラー"); // 空ならエラーを表示する
124
-
125
- return null;
126
-
127
- }
128
-
129
-
130
-
131
- /**
132
-
133
- * @return 空であるかどうか
134
-
135
- **/
136
-
137
- public boolean isEmpty() {
138
-
139
- // TODO: 実装する
140
-
141
- return true;
142
-
143
- }
144
-
145
-
146
-
147
- public String toString() {
148
-
149
- String[] actives = new String[sp];
150
-
151
- for (int i = 0; i < sp; i++) {
152
-
153
- actives[i] = items[i];
154
-
155
- }
156
-
157
- return "aMyStack(" + String.join(", ", actives) + ")";
158
-
159
- }
160
-
161
-
162
-
163
- public static void main(String[] args) {
164
-
165
- MyStack stack = new MyStack(5);
166
-
167
- System.out.println("push:");
168
-
169
- System.out.println(stack);
170
-
171
- stack.push("abc");
172
-
173
- stack.push("def");
174
-
175
- System.out.println(stack);
176
-
177
- stack.push("ghi");
178
-
179
- System.out.println(stack);
180
-
181
- System.out.println(stack.top());
182
-
183
- while (!stack.isEmpty()) {
184
-
185
- System.out.println("pop: " + stack.pop());
186
-
187
- System.out.println(stack);
188
-
189
- }
190
-
191
- System.out.println("エラーテスト");
192
-
193
- System.out.println(stack);
194
-
195
- stack.pop(); // 空のはずなのにpop!
196
-
197
- stack.top(); // 空のはずなのにtop!
198
-
199
- System.out.println(stack);
200
-
201
- stack.push("1");
202
-
203
- stack.push("2");
204
-
205
- stack.push("3");
206
-
207
- stack.push("4");
208
-
209
- System.out.println(stack);
210
-
211
- stack.push("5");
212
-
213
- System.out.println(stack);
214
-
215
- stack.push("6"); // 一杯なはずなのにpush!
216
-
217
- System.out.println(stack);
218
-
219
- }
220
-
221
- }
222
-
223
-
224
-
225
-
226
-
227
-
228
-
229
- 実装したコード
230
-
231
- package ex5;
232
-
233
-
234
-
235
- public class MyStack {
236
-
237
- // 要素を入れる配列
238
-
239
- private String[] items;
240
-
241
- // スタックの最大サイズ
242
-
243
- private int size;
244
-
245
- // 空き場所を指すインデックス
246
-
247
- private int sp;
248
-
249
-
250
-
251
- public MyStack(int size) {
252
-
253
- // TODO: メンバの初期化
254
-
255
- this.size=size;
256
-
257
- this.items = new String[5];
258
-
259
- }
260
-
261
-
262
-
263
- /**
264
-
265
- * 要素を追加する
266
-
267
- */
268
-
269
- public void push(String str) {
270
-
271
- // TODO: 実装する
272
-
273
- if (!isFull()) {
274
-
275
-
276
-
277
- items[++sp] = str;
278
-
279
- }
280
-
281
- }
282
-
283
-
284
-
285
- /**
286
-
287
- * トップ(最後に入れられた)要素を取り出して返す
288
-
289
- *
290
-
291
- * @return 要素。空なら null
292
-
293
- *java.lang.ArrayIndexOutOfBoundsException:配列の外の値を指定している
294
-
295
- */
296
-
297
- public String pop() {
298
-
299
- // TODO: 実装する
300
-
301
- if (!isEmpty()) {
302
-
303
- return items[--sp];//sp--は指定した後-1を引く
304
-
305
- } else {
306
-
307
- System.out.println("pop エラー");
308
-
309
- return null;
310
-
311
- }
312
-
313
- }
314
-
315
-
316
-
317
- /**
318
-
319
- * トップ(最後に入れられた)要素を取り出さずに参照する
320
-
321
- *
322
-
323
- * @return トップ要素。空なら null
324
-
325
- */
326
-
327
- public String top() {
328
-
329
- // TODO: 実装する
330
-
331
- if (!isEmpty()) {
332
-
333
- return items[sp];
334
-
335
- } else {
336
-
337
- System.out.println("top エラー"); // 空ならエラーを表示する
338
-
339
- return null;
340
-
341
- }
342
-
343
- }
344
-
345
-
346
-
347
- /**
348
-
349
- * @return 空であるかどうか
350
-
351
- **/
352
-
353
- public boolean isEmpty() {
354
-
355
- // TODO: 実装する
356
-
357
- if (sp<0) {
358
-
359
- return true;
360
-
361
- } else {
362
-
363
- return false;
364
-
365
- }
366
-
367
- }
368
-
369
-
370
-
371
- //満タンかどうか
372
-
373
- public boolean isFull() {
374
-
375
- if (sp>=size) {
376
-
377
- return true;
378
-
379
- } else {
380
-
381
- return false;
382
-
383
- }
384
-
385
- }
386
-
387
-
388
-
389
- public String toString() {
390
-
391
- String[] actives = new String[sp];
392
-
393
- for (int i = 0; i < sp; i++) {
394
-
395
- actives[i] = items[i];
396
-
397
- }
398
-
399
- return "aMyStack(" + String.join(", ", actives) + ")";
400
-
401
- }
402
-
403
-
404
-
405
- public static void main(String[] args) {
406
-
407
- MyStack stack = new MyStack(5);
408
-
409
- System.out.println("push:");
410
-
411
- System.out.println(stack);
412
-
413
- stack.push("abc");
414
-
415
- stack.push("def");
416
-
417
- System.out.println(stack);
418
-
419
- stack.push("ghi");
420
-
421
- System.out.println(stack);
422
-
423
- System.out.println(stack.top());
424
-
425
- while (!stack.isEmpty()) {
426
-
427
- System.out.println("pop: " + stack.pop());
428
-
429
- System.out.println(stack);
430
-
431
- }
432
-
433
- System.out.println("エラーテスト");
434
-
435
- System.out.println(stack);
436
-
437
- stack.pop(); // 空のはずなのにpop!
438
-
439
- stack.top(); // 空のはずなのにtop!
440
-
441
- System.out.println(stack);
442
-
443
- stack.push("1");
444
-
445
- stack.push("2");
446
-
447
- stack.push("3");
448
-
449
- stack.push("4");
450
-
451
- System.out.println(stack);
452
-
453
- stack.push("5");
454
-
455
- System.out.println(stack);
456
-
457
- stack.push("6"); // 一杯なはずなのにpush!
458
-
459
- System.out.println(stack);
460
-
461
- }
462
-
463
- }