質問編集履歴
1
追加で質問をさせていただきました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,9 +12,21 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
配列と乱数を使用して作成しているのですが、合計値を求めるコードの書き方がわからず、躓いています。
|
15
|
+
~~配列と乱数を使用して作成しているのですが、合計値を求めるコードの書き方がわからず、躓いています。
|
16
16
|
|
17
17
|
ご教示いただけると幸いです。
|
18
|
+
|
19
|
+
よろしくお願い致します。~~
|
20
|
+
|
21
|
+
--追加の質問--
|
22
|
+
|
23
|
+
合計値を表示することはできました。
|
24
|
+
|
25
|
+
その後、勝敗判定や引き分け判定の処理を入れたいです。
|
26
|
+
|
27
|
+
sumは毎回初期化されてしまうため、各プレイヤーのスコアを他に保存しないといけないのですが、その書き方がわかりません。
|
28
|
+
|
29
|
+
アドバイスをいただけないでしょうか。
|
18
30
|
|
19
31
|
よろしくお願い致します。
|
20
32
|
|
@@ -22,17 +34,27 @@
|
|
22
34
|
|
23
35
|
### 発生している問題・エラーメッセージ
|
24
36
|
|
25
|
-
[1]:5
|
37
|
+
[1]:4 5 2
|
26
38
|
|
27
|
-
|
39
|
+
合計値:11
|
28
40
|
|
29
|
-
[2]:2 6 3
|
30
41
|
|
31
|
-
8 ←合計値が求められず、乱数がそのまま出力されているように見えます。
|
32
42
|
|
33
|
-
[
|
43
|
+
[2]:2 4 5
|
34
44
|
|
45
|
+
合計値:11
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
[3]:2 3 1
|
50
|
+
|
51
|
+
合計値:6
|
52
|
+
|
53
|
+
|
54
|
+
|
35
|
-
|
55
|
+
勝者は1回目の人で、合計値は6でした。←最後にsumに入った値が出てしまいます。
|
56
|
+
|
57
|
+
↑毎回"1回目"と出てしまいます。
|
36
58
|
|
37
59
|
|
38
60
|
|
@@ -46,59 +68,109 @@
|
|
46
68
|
|
47
69
|
|
48
70
|
|
49
|
-
|
71
|
+
public static void main(String[] args) {
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
// プレイヤー人数を決める
|
54
|
-
|
55
|
-
int[] r = {1,2,3};
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
int sum = 0;
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
// 人数分ループする
|
64
|
-
|
65
|
-
for(int j = 0;j < r.length;j++){
|
66
|
-
|
67
|
-
System.out.print("[" + r[j] + "]" + ":");
|
68
|
-
|
69
|
-
for(int i = 0;i < r.length;i++){
|
70
|
-
|
71
|
-
for(int n = 0;n < 1;n++){
|
72
|
-
|
73
|
-
System.out.print(dice() + " ");
|
74
|
-
|
75
|
-
sum = dice() + dice() + dice();
|
76
|
-
|
77
|
-
}
|
78
|
-
|
79
|
-
}
|
80
|
-
|
81
|
-
System.out.println();
|
82
|
-
|
83
|
-
System.out.print(sum);
|
84
|
-
|
85
|
-
System.out.println();
|
86
|
-
|
87
|
-
}
|
88
|
-
|
89
|
-
}
|
90
72
|
|
91
73
|
|
92
74
|
|
93
|
-
|
75
|
+
// プレイヤー人数を決める
|
94
76
|
|
95
|
-
|
77
|
+
int r[] = new int[3];
|
96
78
|
|
97
|
-
return (int)(Math.random()*6) + 1;
|
98
79
|
|
80
|
+
|
81
|
+
// 値を代入
|
82
|
+
|
99
|
-
|
83
|
+
r[0] = 1;
|
84
|
+
|
85
|
+
r[1] = 2;
|
86
|
+
|
87
|
+
r[2] = 3;
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
int dice = 0;
|
94
|
+
|
95
|
+
// サイコロを振る回数を代入
|
96
|
+
|
97
|
+
int count = 3;
|
98
|
+
|
99
|
+
int score = 0;
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
// 人数分ループする
|
104
|
+
|
105
|
+
for(int j = 0;j < r.length;j++){
|
106
|
+
|
107
|
+
System.out.print("[" + r[j] + "]" + ":");
|
108
|
+
|
109
|
+
int sum = 0;
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
for(int i = 0;i < count;i++){
|
116
|
+
|
117
|
+
dice = (int)(Math.random()*6)+1;
|
118
|
+
|
119
|
+
int hokan = dice;
|
120
|
+
|
121
|
+
sum += hokan;
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
System.out.print(hokan + " ");
|
100
126
|
|
101
127
|
}
|
128
|
+
|
129
|
+
score = sum;
|
130
|
+
|
131
|
+
System.out.println();
|
132
|
+
|
133
|
+
System.out.println("合計値:" + sum);
|
134
|
+
|
135
|
+
System.out.println();
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
}
|
142
|
+
|
143
|
+
// 勝敗判定
|
144
|
+
|
145
|
+
int minCnt = 100;
|
146
|
+
|
147
|
+
int minCntPlayer = 0;
|
148
|
+
|
149
|
+
for(int i = 0; i < r.length; i++) {
|
150
|
+
|
151
|
+
if(minCnt > r.length + score) {
|
152
|
+
|
153
|
+
minCnt = r.length + score;
|
154
|
+
|
155
|
+
minCntPlayer = r[i];
|
156
|
+
|
157
|
+
}
|
158
|
+
|
159
|
+
}
|
160
|
+
|
161
|
+
System.out.println("勝者は" + minCntPlayer + "回目の人で、合計値は" + score + "でした。");
|
162
|
+
|
163
|
+
}
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
}
|
172
|
+
|
173
|
+
|
102
174
|
|
103
175
|
|
104
176
|
|
@@ -106,7 +178,7 @@
|
|
106
178
|
|
107
179
|
|
108
180
|
|
109
|
-
|
181
|
+
sumを代入する変数を複数作りましたが、最後に入った値が出てしまいました。
|
110
182
|
|
111
183
|
|
112
184
|
|