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

回答編集履歴

6

ソース修正

2019/10/10 01:29

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -42,7 +42,7 @@
42
42
  if (pass.equals("abc")) {
43
43
  break;
44
44
  } else {
45
- do {//while(true){
45
+ while(!PassOK){
46
46
 
47
47
  int i;
48
48
 
@@ -91,7 +91,7 @@
91
91
  break;
92
92
  }
93
93
  PassOK = true;
94
- } while (!PassOK);
94
+ }
95
95
  }
96
96
  }
97
97
  }

5

ソース追記

2019/10/10 01:29

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -29,4 +29,70 @@
29
29
  password:abc123ABC
30
30
 
31
31
  Process finished with exit code 0
32
+ ```
33
+ 「現状」
34
+ ```java
35
+ public static void main(String[] args) {
36
+ Scanner input = new Scanner(System.in);
37
+ boolean PassOK = false;
38
+ while (!PassOK) {
39
+ System.out.print("input password? ");
40
+ String pass = input.nextLine();
41
+ System.out.println("password:" + pass);
42
+ if (pass.equals("abc")) {
43
+ break;
44
+ } else {
45
+ do {//while(true){
46
+
47
+ int i;
48
+
49
+ if (pass.length() < 8) {
50
+ System.out.println(" Your password must be at least 8 characters.");
51
+ break;
52
+ }
53
+
54
+ for (i = 0; i < pass.length(); i++) {
55
+ if (Character.isUpperCase(pass.charAt(i))) {
56
+ break;
57
+ }
58
+ }
59
+ if (i == pass.length()) {
60
+ System.out.println(" Your password must contain at least one uppercase letter.");
61
+ break;
62
+ }
63
+
64
+ for (i = 0; i < pass.length(); i++) {
65
+ if (Character.isLowerCase(pass.charAt(i))) {
66
+ break;
67
+ }
68
+ }
69
+ if (i == pass.length()) {
70
+ System.out.println(" Your password must contain at least one lowercase letter.");
71
+ break;
72
+ }
73
+
74
+ for (i = 0; i < pass.length(); i++) {
75
+ if (Character.isDigit(pass.charAt(i))) {
76
+ break;
77
+ }
78
+ }
79
+ if (i == pass.length()) {
80
+ System.out.println(" Your password must contain a numeber.");
81
+ break;
82
+ }
83
+
84
+ if (pass.contains("password")) {
85
+ System.out.println(" Your password cannot contain word 'password.'");
86
+ break;
87
+ }
88
+
89
+ if (pass.contains(" ")) {
90
+ System.out.println(" You password can only contain aplha numeric characters.");
91
+ break;
92
+ }
93
+ PassOK = true;
94
+ } while (!PassOK);
95
+ }
96
+ }
97
+ }
32
98
  ```

4

ソース修正

2019/10/10 00:13

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -13,20 +13,20 @@
13
13
  input password? 123
14
14
  password:123
15
15
  Your password must be at least 8 characters.
16
-
16
+ input password? abcd
17
- password:
17
+ password:abcd
18
18
  Your password must be at least 8 characters.
19
+ input password? ABCDEFGHI
19
- www
20
+ password:ABCDEFGHI
21
+ Your password must contain at least one lowercase letter.
22
+ input password? abcdefg
20
- password:www
23
+ password:abcdefg
21
24
  Your password must be at least 8 characters.
22
- wwwwwwwww
25
+ input password? 12345678
23
- password:wwwwwwwww
26
+ password:12345678
24
27
  Your password must contain at least one uppercase letter.
25
- anc
26
- password:anc
28
+ input password? abc123ABC
27
- Your password must be at least 8 characters.
28
- abc
29
- password:abc
29
+ password:abc123ABC
30
30
 
31
31
  Process finished with exit code 0
32
32
  ```

3

ソース修正

2019/10/09 23:47

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -9,8 +9,23 @@
9
9
  String pass = input.nextLine();
10
10
  System.out.println("password:" + pass);
11
11
  の処理は、一番外側のwhile()の内側にないとおかしいのでは?
12
- ```java
12
+ ```text
13
- input password? abc
13
+ input password? 123
14
+ password:123
15
+ Your password must be at least 8 characters.
16
+
17
+ password:
18
+ Your password must be at least 8 characters.
19
+ www
20
+ password:www
21
+ Your password must be at least 8 characters.
22
+ wwwwwwwww
23
+ password:wwwwwwwww
24
+ Your password must contain at least one uppercase letter.
25
+ anc
26
+ password:anc
27
+ Your password must be at least 8 characters.
28
+ abc
14
29
  password:abc
15
30
 
16
31
  Process finished with exit code 0

2

加筆

2019/10/09 22:58

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -8,4 +8,10 @@
8
8
  「追記」
9
9
  String pass = input.nextLine();
10
10
  System.out.println("password:" + pass);
11
- の処理は、一番外側のwhile()の内側にないとおかしいのでは?
11
+ の処理は、一番外側のwhile()の内側にないとおかしいのでは?
12
+ ```java
13
+ input password? abc
14
+ password:abc
15
+
16
+ Process finished with exit code 0
17
+ ```

1

追記

2019/10/09 22:49

投稿

cateye
cateye

スコア6851

answer CHANGED
@@ -3,4 +3,9 @@
3
3
 
4
4
  って合ってますか?
5
5
  →[【Java入門】文字列(String)を比較する方法(「==」と「equals」)
6
- ](https://www.sejuku.net/blog/14621)
6
+ ](https://www.sejuku.net/blog/14621)
7
+
8
+ 「追記」
9
+ String pass = input.nextLine();
10
+ System.out.println("password:" + pass);
11
+ の処理は、一番外側のwhile()の内側にないとおかしいのでは?