回答編集履歴

2

ガード節の書き方を追加

2020/05/08 14:28

投稿

momon-ga
momon-ga

スコア4820

test CHANGED
@@ -80,15 +80,37 @@
80
80
 
81
81
 
82
82
 
83
+ Mainの中身しだいですが以下のように書けるかもしれません。
84
+
85
+ ネストが深くならないので、こちらの方が好みです。
86
+
87
+ とはいえ、Mainの作りしだい。
88
+
89
+ ```java
90
+
91
+ if(!Edit.checkcheck(editname,list,checkgo)) {
92
+
93
+ return;
94
+
95
+ }
96
+
97
+ // 以降は元の質問にあった、続きの処理
98
+
99
+ ```
100
+
101
+
102
+
103
+
104
+
83
105
  あと今回のようなメソッドは戻り値を引数で受け取る必要はありません。
84
106
 
85
107
 
86
108
 
87
- あと見つからない場合っていうのは全てがequalsでfalseになった場合じゃないですかね?
109
+ 処理で気になったのは、見つからない場合っていうのは全てがequalsでfalseになった場合じゃないですかね?
88
110
 
89
111
  listの中身がよくわかってないですが、1つでも違うと見つからないになるとしたら
90
112
 
91
- ほぼほぼ合致しないことになりますけど・・・
113
+ ほぼほぼ合致しない(Listの中身が全て同じ?)ことになりますけど・・・
92
114
 
93
115
 
94
116
 

1

追記に対応

2020/05/08 14:28

投稿

momon-ga
momon-ga

スコア4820

test CHANGED
@@ -17,3 +17,103 @@
17
17
  ですが、Changeproductは、名前以外の入力も必要なので、これとは別に
18
18
 
19
19
  新しい検索処理を作成する必要があります。
20
+
21
+
22
+
23
+ ---
24
+
25
+ 追記に対応
26
+
27
+
28
+
29
+ 戻り値を受けて処理を迂回すればよいです。Mainを完全に把握してるわけじゃないので
30
+
31
+ イメージレベルで
32
+
33
+
34
+
35
+ ```java
36
+
37
+ **Main.java**
38
+
39
+
40
+
41
+ if(sentaku ==3) {
42
+
43
+ Scanner editword = new java.util.Scanner(System.in);
44
+
45
+ String editname;
46
+
47
+ do {
48
+
49
+ System.out.println("編集したい登録商品名の文字列を入力してください");
50
+
51
+ editname = editword.nextLine();
52
+
53
+
54
+
55
+ }while(editname.isEmpty());
56
+
57
+
58
+
59
+ if(Edit.checkcheck(editname,list,checkgo)) {
60
+
61
+ // 元の質問にあった、続きの処理をこのブロックに書けばよいです。
62
+
63
+ String changename;
64
+
65
+ do {
66
+
67
+ System.out.println("新しい商品名を入力してください");
68
+
69
+ changename = editword.nextLine();
70
+
71
+ }while(changename.isEmpty());
72
+
73
+
74
+
75
+ // 以降省略
76
+
77
+ }
78
+
79
+ ```
80
+
81
+
82
+
83
+ あと今回のようなメソッドは戻り値を引数で受け取る必要はありません。
84
+
85
+
86
+
87
+ あと見つからない場合っていうのは全てがequalsでfalseになった場合じゃないですかね?
88
+
89
+ listの中身がよくわかってないですが、1つでも違うと見つからないになるとしたら
90
+
91
+ ほぼほぼ合致しないことになりますけど・・・
92
+
93
+
94
+
95
+ ```java
96
+
97
+ public static boolean checkcheck(String editname,ArrayList<HandMadeGoods> list) {
98
+
99
+ for(int t=0; t<list.size(); t++) {
100
+
101
+ if((editname.equals(list.get(t).getName()))){
102
+
103
+ // 一致したらtrueで終了
104
+
105
+ return true;
106
+
107
+ }
108
+
109
+ }
110
+
111
+ // 全て合致しなかった場合
112
+
113
+ System.out.println("編集したい商品に合致するものはありません");
114
+
115
+ return false;
116
+
117
+ }
118
+
119
+ ```