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

回答編集履歴

2

ガード節の書き方を追加

2020/05/08 14:28

投稿

momon-ga
momon-ga

スコア4828

answer CHANGED
@@ -39,11 +39,22 @@
39
39
  }
40
40
  ```
41
41
 
42
+ Mainの中身しだいですが以下のように書けるかもしれません。
43
+ ネストが深くならないので、こちらの方が好みです。
44
+ とはいえ、Mainの作りしだい。
45
+ ```java
46
+ if(!Edit.checkcheck(editname,list,checkgo)) {
47
+ return;
48
+ }
49
+ // 以降は元の質問にあった、続きの処理
50
+ ```
51
+
52
+
42
53
  あと今回のようなメソッドは戻り値を引数で受け取る必要はありません。
43
54
 
44
- あと見つからない場合っていうのは全てがequalsでfalseになった場合じゃないですかね?
55
+ 処理で気になったのは、見つからない場合っていうのは全てがequalsでfalseになった場合じゃないですかね?
45
56
  listの中身がよくわかってないですが、1つでも違うと見つからないになるとしたら
46
- ほぼほぼ合致しないことになりますけど・・・
57
+ ほぼほぼ合致しない(Listの中身が全て同じ?)ことになりますけど・・・
47
58
 
48
59
  ```java
49
60
  public static boolean checkcheck(String editname,ArrayList<HandMadeGoods> list) {

1

追記に対応

2020/05/08 14:28

投稿

momon-ga
momon-ga

スコア4828

answer CHANGED
@@ -7,4 +7,54 @@
7
7
  で、文字が入力されたらチェックをする必要があります。
8
8
 
9
9
  ですが、Changeproductは、名前以外の入力も必要なので、これとは別に
10
- 新しい検索処理を作成する必要があります。
10
+ 新しい検索処理を作成する必要があります。
11
+
12
+ ---
13
+ 追記に対応
14
+
15
+ 戻り値を受けて処理を迂回すればよいです。Mainを完全に把握してるわけじゃないので
16
+ イメージレベルで
17
+
18
+ ```java
19
+ **Main.java**
20
+
21
+ if(sentaku ==3) {
22
+ Scanner editword = new java.util.Scanner(System.in);
23
+ String editname;
24
+ do {
25
+ System.out.println("編集したい登録商品名の文字列を入力してください");
26
+ editname = editword.nextLine();
27
+
28
+ }while(editname.isEmpty());
29
+
30
+ if(Edit.checkcheck(editname,list,checkgo)) {
31
+ // 元の質問にあった、続きの処理をこのブロックに書けばよいです。
32
+ String changename;
33
+ do {
34
+ System.out.println("新しい商品名を入力してください");
35
+ changename = editword.nextLine();
36
+ }while(changename.isEmpty());
37
+
38
+ // 以降省略
39
+ }
40
+ ```
41
+
42
+ あと今回のようなメソッドは戻り値を引数で受け取る必要はありません。
43
+
44
+ あと見つからない場合っていうのは全てがequalsでfalseになった場合じゃないですかね?
45
+ listの中身がよくわかってないですが、1つでも違うと見つからないになるとしたら
46
+ ほぼほぼ合致しないことになりますけど・・・
47
+
48
+ ```java
49
+ public static boolean checkcheck(String editname,ArrayList<HandMadeGoods> list) {
50
+ for(int t=0; t<list.size(); t++) {
51
+ if((editname.equals(list.get(t).getName()))){
52
+ // 一致したらtrueで終了
53
+ return true;
54
+ }
55
+ }
56
+ // 全て合致しなかった場合
57
+ System.out.println("編集したい商品に合致するものはありません");
58
+ return false;
59
+ }
60
+ ```