回答編集履歴

4

追記

2018/05/18 07:07

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -14,6 +14,58 @@
14
14
 
15
15
 
16
16
 
17
+ その他
18
+
19
+ ---
20
+
21
+ 気になることがいくつか。
22
+
23
+
24
+
25
+ **getNumberOfInstanceがstaticメソッドであること**
26
+
27
+ > ```Java
28
+
29
+ static int getNumberOfInstances(){
30
+
31
+ return number;
32
+
33
+ }
34
+
35
+ > ```
36
+
37
+
38
+
39
+ numberを通し番号として利用すると同時に、インスタンスそれぞれの番号も無いとだめですね。
40
+
41
+
42
+
43
+ ---
44
+
45
+ **常にCartに10要素アイテムがあることを仮定していること**
46
+
47
+ > ```Java
48
+
49
+ for(int i = 0; i < 10; i++){
50
+
51
+ System.out.println(items[i].toString());
52
+
53
+ }
54
+
55
+ > ```
56
+
57
+
58
+
59
+ まだアイテムが置かれていない領域があるので、ヌルポが発生します。
60
+
61
+ むしろ先の『通し番号』的なものは、Cartインスタンスが持つべきなのではないでしょうか。
62
+
63
+
64
+
65
+ Cart#addItemが呼ばれた際に、『今保持しているアイテム数』をインクリメントすれば良いです。
66
+
67
+
68
+
17
69
  コードの書き方について
18
70
 
19
71
  ---

3

追記・修正

2018/05/18 07:07

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -10,6 +10,10 @@
10
10
 
11
11
 
12
12
 
13
+ **追記:** 配列を保持しているのですね。それなら継承関係だけ切れば良いです。
14
+
15
+
16
+
13
17
  コードの書き方について
14
18
 
15
19
  ---

2

追記

2018/05/18 06:55

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
File without changes

1

追記

2018/05/18 06:54

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -7,3 +7,15 @@
7
7
  ただし。**CartがItemを継承しているのがそもそも変です。**
8
8
 
9
9
  たとえばItemのリストをフィールドとして保持するのが良いでしょう。
10
+
11
+
12
+
13
+ コードの書き方について
14
+
15
+ ---
16
+
17
+ teratailには、コードを見やすく表示する機能があります。
18
+
19
+ 質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。
20
+
21
+ ![Java](f4ed904eff3506b68bb6e4c2b205ebd1.gif)