質問編集履歴

2

コード全文を記載

2020/09/26 17:09

投稿

mi-s.322
mi-s.322

スコア3

test CHANGED
File without changes
test CHANGED
@@ -24,8 +24,6 @@
24
24
 
25
25
 
26
26
 
27
- 一部抜粋なので分かりにくいかと思いますが、
28
-
29
27
  どなたかお力添えいただけませんでしょうか。
30
28
 
31
29
 
@@ -36,15 +34,145 @@
36
34
 
37
35
  ```Java
38
36
 
37
+ package kazuate_15_4;
38
+
39
+
40
+
41
+ public class Main {
42
+
43
+ public static void main(String[] args) {
44
+
45
+ System.out.println("数あてゲームをはじめます!");
46
+
47
+ QuizMan q = new QuizMan();
48
+
49
+
50
+
51
+ do {
52
+
53
+ q.makesAQuestion();
54
+
55
+ q.compares();}
56
+
57
+ while(q.judges());
58
+
59
+ }
60
+
61
+
62
+
63
+ }
64
+
65
+ ---
66
+
67
+ package kazuate_15_4;
68
+
69
+
70
+
71
+ public class QuizMan {
72
+
73
+
74
+
75
+ private final int ANSWER_LENGTH = 3;
76
+
39
77
  private int inputCount = 0;
40
78
 
41
79
  private int hitCount = 0;
42
80
 
81
+ private String answer;
82
+
83
+ private String[] answerArray;
84
+
85
+ private String input;
86
+
87
+ private String[] inputArray;
88
+
89
+
90
+
91
+ public QuizMan() {
92
+
93
+ this.answer = "";
94
+
95
+
96
+
97
+ for (int i = 0; i < this.ANSWER_LENGTH; i++) {
98
+
99
+ int num = new java.util.Random().nextInt(9) + 1;
100
+
101
+ this.answer += num;
102
+
103
+ }
104
+
105
+
106
+
107
+ this.answerArray = this.answer.split("");
108
+
109
+
110
+
111
+ // // テスト
112
+
113
+ // for (int j = 0; j < this.answerArray.length; j++) {
114
+
115
+ // System.out.println(this.answerArray[j]);
116
+
117
+ // }
118
+
119
+ }
120
+
121
+
122
+
123
+ public void makesAQuestion() {
124
+
125
+ System.out.println("各桁ごとに1~9の範囲で、" + this.ANSWER_LENGTH + "桁の数字を入力してください");
126
+
127
+ String str = new java.util.Scanner(System.in).nextLine();
128
+
129
+ this.checksInput(str);
130
+
131
+ }
132
+
133
+
134
+
135
+ public void checksInput(String str) {
136
+
137
+ if (str.contains("0")) {
138
+
139
+ System.out.println("0が含まれています。最初からやりなおし\n");
140
+
141
+ this.makesAQuestion();
142
+
143
+ } else if (str.length() != this.ANSWER_LENGTH) {
144
+
145
+ System.out.println("桁数がまちがっています。最初からやりなおし\n");
146
+
147
+ this.makesAQuestion();
148
+
43
- ---
149
+ } else {
150
+
151
+ this.input = str;
152
+
153
+ this.inputArray = this.input.split("");
154
+
155
+ }
156
+
157
+ }
158
+
159
+
44
160
 
45
161
  public void compares() {
46
162
 
163
+
164
+
165
+ // // テスト
166
+
167
+ // for (int k = 0; k < this.answerArray.length; k++) {
168
+
169
+ // System.out.println(inputArray[k]);
170
+
171
+ // }
172
+
173
+
174
+
47
- for (int i = 0; i < this.answerArray.length; i++) {
175
+ for (int i = 0; i < answerArray.length; i++) {
48
176
 
49
177
  if (this.answerArray[i] == this.inputArray[i]) {
50
178
 
@@ -54,6 +182,12 @@
54
182
 
55
183
  }
56
184
 
185
+
186
+
187
+ // // テスト
188
+
189
+ // System.out.println(this.hitCount);
190
+
57
191
  }
58
192
 
59
193
 
@@ -84,4 +218,10 @@
84
218
 
85
219
  }
86
220
 
221
+
222
+
223
+ }
224
+
225
+ }
226
+
87
227
  ```

1

誤字

2020/09/26 17:09

投稿

mi-s.322
mi-s.322

スコア3

test CHANGED
File without changes
test CHANGED
@@ -10,9 +10,11 @@
10
10
 
11
11
 
12
12
 
13
- なお、配列変数answerArrayと、inputArrayには、
13
+ 配列変数answerArrayと、inputArrayには、
14
14
 
15
- 一桁ずつ数字が格納されていることを確認済みです。
15
+ 一桁ずつ数字が格納されす。
16
+
17
+
16
18
 
17
19
  answerArrayとinputArrayで、一致している桁がある場合に
18
20