回答編集履歴

1

最初からやり直し

2019/10/13 15:39

投稿

swordone
swordone

スコア20651

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
+ こんな感じで、他についても多数おかしな点があります。