teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

追記

2018/05/18 07:07

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -6,6 +6,32 @@
6
6
 
7
7
  **追記:** 配列を保持しているのですね。それなら継承関係だけ切れば良いです。
8
8
 
9
+ その他
10
+ ---
11
+ 気になることがいくつか。
12
+
13
+ **getNumberOfInstanceがstaticメソッドであること**
14
+ > ```Java
15
+ static int getNumberOfInstances(){
16
+ return number;
17
+ }
18
+ > ```
19
+
20
+ numberを通し番号として利用すると同時に、インスタンスそれぞれの番号も無いとだめですね。
21
+
22
+ ---
23
+ **常にCartに10要素アイテムがあることを仮定していること**
24
+ > ```Java
25
+ for(int i = 0; i < 10; i++){
26
+ System.out.println(items[i].toString());
27
+ }
28
+ > ```
29
+
30
+ まだアイテムが置かれていない領域があるので、ヌルポが発生します。
31
+ むしろ先の『通し番号』的なものは、Cartインスタンスが持つべきなのではないでしょうか。
32
+
33
+ Cart#addItemが呼ばれた際に、『今保持しているアイテム数』をインクリメントすれば良いです。
34
+
9
35
  コードの書き方について
10
36
  ---
11
37
  teratailには、コードを見やすく表示する機能があります。

3

追記・修正

2018/05/18 07:07

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -4,6 +4,8 @@
4
4
  ただし。**CartがItemを継承しているのがそもそも変です。**
5
5
  たとえばItemのリストをフィールドとして保持するのが良いでしょう。
6
6
 
7
+ **追記:** 配列を保持しているのですね。それなら継承関係だけ切れば良いです。
8
+
7
9
  コードの書き方について
8
10
  ---
9
11
  teratailには、コードを見やすく表示する機能があります。

2

追記

2018/05/18 06:55

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
File without changes

1

追記

2018/05/18 06:54

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -2,4 +2,10 @@
2
2
  クラスCartのコンストラクタで適切にどのコンストラクタを呼ぶか指定してやらないといけません。
3
3
 
4
4
  ただし。**CartがItemを継承しているのがそもそも変です。**
5
- たとえばItemのリストをフィールドとして保持するのが良いでしょう。
5
+ たとえばItemのリストをフィールドとして保持するのが良いでしょう。
6
+
7
+ コードの書き方について
8
+ ---
9
+ teratailには、コードを見やすく表示する機能があります。
10
+ 質問編集画面を開き、コードを選択した状態で<code>ボタンを押してください。
11
+ ![Java](f4ed904eff3506b68bb6e4c2b205ebd1.gif)