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

回答編集履歴

3

typo

2020/08/29 14:41

投稿

shiketa
shiketa

スコア4133

answer CHANGED
@@ -18,7 +18,7 @@
18
18
  > Tavaraクラスを下に追加しました。ご指摘お願いします。
19
19
 
20
20
  ああ。while(true),breakが意味不明だったのですが、omosaを定義する場所がおかしいでしょう。
21
- whileの中で定義したら、というか、addTavaraメソッドの中で定義したら、omosaは毎回0。tavara.getPaino()がどんな値を返すか想像できませんが、if文はたいてい真になるのでしょうね。だから。
21
+ whileの中で定義したら、というか、addTavaraメソッドの中で定義したら、omosaは毎回0から開始。tavara.getPaino()がどんな値を返すか想像できませんが、if文はたいてい真になるのでしょうね。だから。
22
22
 
23
23
  ```diff
24
24
  diff --git a/src/main/java/Matkalaukku.java b/src/main/java/Matkalaukku.java

2

追記

2020/08/29 14:40

投稿

shiketa
shiketa

スコア4133

answer CHANGED
@@ -10,4 +10,43 @@
10
10
 
11
11
  ま、break文をみなかったことにすれば、`tavara.getPaino()`が、0か0以下の値を返してるのではなかろうか、と。
12
12
 
13
- Tavaraクラスの内容も含めたちゃんとコンパイルできて動くソースを提示してみてください。
13
+ Tavaraクラスの内容も含めたちゃんとコンパイルできて動くソースを提示してみてください。
14
+
15
+ ----
16
+ ----
17
+
18
+ > Tavaraクラスを下に追加しました。ご指摘お願いします。
19
+
20
+ ああ。while(true),breakが意味不明だったのですが、omosaを定義する場所がおかしいでしょう。
21
+ whileの中で定義したら、というか、addTavaraメソッドの中で定義したら、omosaは毎回0。tavara.getPaino()がどんな値を返すか想像できませんが、if文はたいてい真になるのでしょうね。だから。
22
+
23
+ ```diff
24
+ diff --git a/src/main/java/Matkalaukku.java b/src/main/java/Matkalaukku.java
25
+ index f2f792d..4789dc6 100644
26
+ --- a/src/main/java/Matkalaukku.java
27
+ +++ b/src/main/java/Matkalaukku.java
28
+ @@ -4,6 +4,7 @@ import java.util.ArrayList;
29
+ public class Matkalaukku {
30
+ private final int maksimipaino;
31
+ private final ArrayList<Tavara> tavarat;
32
+ + private int omosa = 0;
33
+
34
+ public Matkalaukku(int maksimipaino) {
35
+ this.maksimipaino = maksimipaino;
36
+ @@ -11,13 +12,9 @@ public class Matkalaukku {
37
+ }
38
+
39
+ public void addTavara(Tavara tavara) {
40
+ - while (true) {
41
+ - int omosa = 0;
42
+ - omosa = omosa + tavara.getPaino();
43
+ - if (omosa <= this.maksimipaino) {//ここで追加されるのはthis.maksimipaino
44
+ - this.tavarat.add(tavara);//以下にしたつもりですが、すべて追加されます。
45
+ - break;
46
+ - }
47
+ + omosa = omosa + tavara.getPaino();
48
+ + if (omosa <= this.maksimipaino) {//ここで追加されるのはthis.maksimipaino
49
+ + this.tavarat.add(tavara);//以下にしたつもりですが、すべて追加されます。
50
+ }
51
+ }
52
+ ```

1

typo

2020/08/29 14:38

投稿

shiketa
shiketa

スコア4133

answer CHANGED
@@ -10,4 +10,4 @@
10
10
 
11
11
  ま、break文をみなかったことにすれば、`tavara.getPaino()`が、0か0以下の値を返してるのではなかろうか、と。
12
12
 
13
- Tavaraクラスの内容も提示してみてください。
13
+ Tavaraクラスの内容も含めたちゃんとコンパイルできて動くソースを提示してみてください。