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

回答編集履歴

5

補足

2018/05/14 15:46

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -2,11 +2,14 @@
2
2
 
3
3
  はいOKです、[オンライン正規表現確認サイト](https://regex101.com/)で確認してみてくださいな。
4
4
 
5
+ ---
6
+ 以下からはコード添削です。
5
- 1,条件判断(**11文字未満エラー**)とエラー表示の文言が一致していす。
7
+ 1,if文の条件**11文字未満**ですが、エラー文言が**10文字以上**です。エラーの文言と実際の処理内容が一致していません。(コードは10文字をエラーとして取り扱ってす。)
6
-
7
8
  以上/以下は解釈誤りを起こしやすい言葉なので、「以上及びそれを含む」とするか意識して取り扱ってくださいな。
9
+ ```Java
8
- >}else if(telNumber.length() < 11 || telNumber.length() > 13) {
10
+ }else if(telNumber.length() < 11 || telNumber.length() > 13) {
9
- > result = "【電話番号は10文字以上13文字以下で入力してください】";
11
+ result = "【電話番号は10文字以上13文字以下で入力してください】";
12
+ ```
10
13
 
11
14
  2,エラーチェックの場合、即時リターンをするとif文が短くなります。
12
15
  ```Java

4

追記

2018/05/14 15:46

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -21,7 +21,7 @@
21
21
  public class A126169 {
22
22
 
23
23
  public static void main(String[] args) {
24
- System.out.println(A126169.telNumberChk("0123456789"));
24
+ System.out.println(A126169.telNumberChk("123456789"));
25
25
  System.out.println(A126169.telNumberChk("AAAAAAAAAAA"));
26
26
  }
27
27
 
@@ -30,9 +30,9 @@
30
30
  if (telNumber.equals("")) {
31
31
  return "【電話番号を入力してください】";
32
32
  }
33
- if (telNumber.length() < 10 || telNumber.length() > 13) {
33
+ if (telNumber.length() < 10 || telNumber.length() > 13) {
34
- return "【電話番号は10文字以上14文字未満で入力してください】";
34
+ return "【電話番号は10文字以上14文字未満で入力してください】";
35
- }
35
+ }
36
36
  if (!telNumber.matches("^[0-9]+$")) {
37
37
  return "【電話番号は半角数字で、正しいものを入力してください】";
38
38
  }

3

追記

2018/05/14 12:53

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -30,8 +30,8 @@
30
30
  if (telNumber.equals("")) {
31
31
  return "【電話番号を入力してください】";
32
32
  }
33
- if (telNumber.length() < 11 || telNumber.length() > 13) {
33
+ if (telNumber.length() < 10 || telNumber.length() > 13) {
34
- return "【電話番号は11桁以上14未満で入力してください】";
34
+ return "【電話番号は10文字以上14文字未満で入力してください】";
35
35
  }
36
36
  if (!telNumber.matches("^[0-9]+$")) {
37
37
  return "【電話番号は半角数字で、正しいものを入力してください】";

2

変更!

2018/05/14 12:52

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -1,40 +1,42 @@
1
- **途中で投稿されてしまいました。。編集中です。**
2
-
3
1
  > ("^[0-9]+$")
4
2
 
5
3
  はいOKです、[オンライン正規表現確認サイト](https://regex101.com/)で確認してみてくださいな。
6
4
 
7
- 1,条件判断と表示メッセージが一致していないです。
5
+ 1,条件判断(**11文字未満はエラー**)エラー表示の文言が一致していないです。
8
- 以上/以下は解釈誤りを起こしやすい言葉なので、「以上及びそれを含む」とするか、未満と超えるを使ってくださいな。
9
- > }else if(telNumber.length() < 11 || telNumber.length() > 13) {
10
- > result = "【電話番号は10文字以上13文字以下で入力してください】";
11
6
 
7
+ 以上/以下は解釈誤りを起こしやすい言葉なので、「以上及びそれを含む」とするか意識して取り扱ってくださいな。
8
+ >}else if(telNumber.length() < 11 || telNumber.length() > 13) {
9
+ > result = "【電話番号は10文字以上13文字以下で入力してください】";
10
+
12
11
  2,エラーチェックの場合、即時リターンをするとif文が短くなります。
13
12
  ```Java
14
13
  if(telNumber.equals("")) {
15
14
  return "【電話番号を入力してください】";
16
15
  }
17
-
18
-
19
16
  ```
20
- String result = "TRUE";
17
+ `String result = "TRUE";`としなくても戻り値のStringのLengthで判断する形にもできるかと。
21
18
 
19
+ サンプルコードです。ご参考まで。
20
+ ```Java
21
+ public class A126169 {
22
22
 
23
+ public static void main(String[] args) {
24
+ System.out.println(A126169.telNumberChk("0123456789"));
25
+ System.out.println(A126169.telNumberChk("AAAAAAAAAAA"));
26
+ }
23
27
 
24
- とするより、ブランク文字列で初期化すると
28
+ public static String telNumberChk(String telNumber) {
25
- ```
26
29
 
27
-
28
- public static String telNumberChk(String telNumber) {
29
- String result = "TRUE";
30
-
31
- if(telNumber.equals("")) {
30
+ if (telNumber.equals("")) {
32
- result = "【電話番号を入力してください】";
31
+ return "【電話番号を入力してください】";
33
- }else if(telNumber.length() < 11 || telNumber.length() > 13) {
34
- result = "【電話番号は10文字以上13文字以下で入力してください】";
35
- }else if(!telNumber.matches("^[0-9\-]+$")) {
36
- result = "【電話番号は半角数字で、正しいものを入力してください】";
37
- }
32
+ }
33
+ if (telNumber.length() < 11 || telNumber.length() > 13) {
38
- return result;
34
+ return "【電話番号は11桁以上14桁未満で入力してください】";
39
- }
35
+ }
36
+ if (!telNumber.matches("^[0-9]+$")) {
37
+ return "【電話番号は半角数字で、正しいものを入力してください】";
38
+ }
39
+ return "";
40
+ }
41
+ }
40
42
  ```

1

追記

2018/05/14 12:49

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -1,3 +1,5 @@
1
+ **途中で投稿されてしまいました。。編集中です。**
2
+
1
3
  > ("^[0-9]+$")
2
4
 
3
5
  はいOKです、[オンライン正規表現確認サイト](https://regex101.com/)で確認してみてくださいな。