回答編集履歴

2

追記

2020/06/13 04:32

投稿

dodox86
dodox86

スコア9256

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ---
8
8
 
9
- **当初の回答**
9
+ **当初の回答(※誤ったもの)**
10
10
 
11
11
  > 途中までですが、とりあえず1の数を「+」で表示したいのに
12
12
 
@@ -130,7 +130,7 @@
130
130
 
131
131
  ---
132
132
 
133
- **修正した回答2**
133
+ **修正した回答(題意に沿ったもの)**
134
134
 
135
135
 
136
136
 
@@ -192,8 +192,6 @@
192
192
 
193
193
  }
194
194
 
195
-
196
-
197
195
  ```
198
196
 
199
197
 

1

題意を間違えていたので回答を追記

2020/06/13 04:31

投稿

dodox86
dodox86

スコア9256

test CHANGED
@@ -1,3 +1,13 @@
1
+ **追記で修正しました:**
2
+
3
+ 私の最初の回答は題意を間違えていましたね。20回サイコロを振って、1~6の目についてそれぞれ何回出たかを集計するのが目的の問題でした。修正したものを追記させていただきました。すみません、これは低評価も止む無し、です。
4
+
5
+
6
+
7
+ ---
8
+
9
+ **当初の回答**
10
+
1
11
  > 途中までですが、とりあえず1の数を「+」で表示したいのに
2
12
 
3
13
  > 1:1:1
@@ -117,3 +127,95 @@
117
127
  $
118
128
 
119
129
  ```
130
+
131
+ ---
132
+
133
+ **修正した回答2**
134
+
135
+
136
+
137
+ ```Java
138
+
139
+ import java.util.Random;
140
+
141
+
142
+
143
+ public class t7b {
144
+
145
+ public static void main(String[] args) {
146
+
147
+ Random rand = new Random();
148
+
149
+ int[] freqs = new int[6 + 1];
150
+
151
+ for (int i = 0; i < 20; i++) {
152
+
153
+ // サイコロを振る
154
+
155
+ int dice = rand.nextInt(6) + 1;
156
+
157
+ // 集計
158
+
159
+ freqs[dice]++;
160
+
161
+ }
162
+
163
+
164
+
165
+ for (int i = 1; i < freqs.length; i++) {
166
+
167
+
168
+
169
+ // 左端の"n:" を出力
170
+
171
+ System.out.print(i + ":");
172
+
173
+
174
+
175
+ // 1~6の目のそれぞれの回数分、'+' をループで出力
176
+
177
+ for (int j = 0; j < freqs[i]; j++) {
178
+
179
+ System.out.print("+");
180
+
181
+ }
182
+
183
+
184
+
185
+ // 最後に改行
186
+
187
+ System.out.println();
188
+
189
+ }
190
+
191
+ }
192
+
193
+ }
194
+
195
+
196
+
197
+ ```
198
+
199
+
200
+
201
+ 再度の実行例です。
202
+
203
+ ```sh
204
+
205
+ $ java t7b
206
+
207
+ 1:++
208
+
209
+ 2:++++
210
+
211
+ 3:++++
212
+
213
+ 4:+++++++
214
+
215
+ 5:++
216
+
217
+ 6:+
218
+
219
+ $
220
+
221
+ ```