回答編集履歴
1
最初からやり直し
test
CHANGED
@@ -35,3 +35,23 @@
|
|
35
35
|
```
|
36
36
|
|
37
37
|
stack[-1]を参照しようとして落ちます。
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
ひとまずこの点に関しては、thisをなくせば解決するのですが、それ以外にもこれらのクラスにはツッコミどころが満載で、ちまちま修正してたら大変なので、最初から作り直すことをお勧めします。
|
42
|
+
|
43
|
+
そもそも回文、というよりは逆転?した文字列を作りたいなら(サロゲートペアがない限り)char配列で事足りますからね。
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
具体的に言うと、Stackクラスのpushメソッドだけ取り上げても、
|
48
|
+
|
49
|
+
- Objectで配列宣言している割に、pushで詰めているのはcharのみ。char配列で十分。
|
50
|
+
|
51
|
+
- 満杯判定が最初だけのため、空き容量より長い文字列になるものをpushすると例外が発生する。
|
52
|
+
|
53
|
+
- ループのたびに引数ObjectをtoStringしている。引数がStringならいいが、他のオブジェクトが入った場合、同じ文字列化をループする分繰り返すことになる。ループに入る前に1回で十分。
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
こんな感じで、他についても多数おかしな点があります。
|