質問編集履歴

1

コード内に行数を入力してしまっていたため、削除いたしました。

2021/01/22 02:37

投稿

Irina
Irina

スコア1

test CHANGED
File without changes
test CHANGED
@@ -24,192 +24,192 @@
24
24
 
25
25
 
26
26
 
27
- 1 public static void main(String[] args) {
27
+ public static void main(String[] args) {
28
-
28
+
29
- 2 System.out.println("Welcome :)");
29
+ System.out.println("Welcome :)");
30
-
30
+
31
- 3 System.out.print("How many dices would you like to roll? Please enter a number:");
31
+ System.out.print("How many dices would you like to roll? Please enter a number:");
32
-
33
- 4
32
+
34
-
33
+
34
+
35
- 5 askAndRollAndSum();
35
+ askAndRollAndSum();
36
+
37
+
38
+
39
+ while (true) {
40
+
41
+ System.out.println("Would you still like to roll the dice(s) again?(Yes or No)");
42
+
43
+ Scanner sc = new Scanner(System.in);
44
+
45
+ String answer = sc.next();
46
+
47
+ if (answer.toLowerCase().equals("yes")) {
48
+
49
+ System.out.println("How many dices would you like to roll this time?");
50
+
51
+ askAndRollAndSum();
52
+
53
+ } else {
54
+
55
+ System.out.println("Thank you for your time :)");
56
+
57
+ break;
58
+
59
+ }
60
+
61
+ }
62
+
63
+ }
64
+
65
+
66
+
67
+
68
+
69
+ ```
70
+
71
+
72
+
73
+
74
+
75
+ 5行目で以下のメソッドを呼び出しており、当該メソッドは実行されるのですが、それ以降のコードが実行されません。
76
+
77
+
78
+
79
+ ###問題のメソッド
80
+
81
+
82
+
83
+ ```Java
84
+
85
+ public static void askAndRollAndSum() {
86
+
87
+ while (true) {
88
+
89
+ int sum = 0;
90
+
91
+ Scanner sc = new Scanner(System.in);
92
+
93
+ int numberOfDices = sc.nextInt();
94
+
95
+ if (numberOfDices <= 0) {
96
+
97
+ System.out.println("Please enter a number bigger than 0");
98
+
99
+ numberOfDices = sc.nextInt();
100
+
101
+ if (numberOfDices <= 0) {
102
+
103
+ System.out.println("Please try again! Sorry :(");
104
+
105
+ break;
106
+
107
+ }
108
+
109
+ }
110
+
111
+ for (int i = 0; i < numberOfDices; i++) {
112
+
113
+ int resultOfThisTime = valueOfDice();
114
+
115
+ System.out.println(resultOfThisTime);
116
+
117
+ sum += resultOfThisTime;
118
+
119
+ }
120
+
121
+ System.out.println("Total: " + sum);
122
+
123
+ }
124
+
125
+ }
126
+
127
+
128
+
129
+ ```
130
+
131
+
132
+
133
+
134
+
135
+ 一度ほぼこの通りのコードで想定通りの動きをしたのですが、細かい部分を修正していたら、どこかいじってしまったようで、このメソッドの実行後の処理が行われなくなってしまいました。
136
+
137
+
138
+
139
+ ###問題の起きていないメソッド
140
+
141
+ ```Java
142
+
143
+ public static int valueOfDice() {
144
+
145
+ Random rand = new Random();
146
+
147
+ int result = rand.nextInt(6) + 1;
148
+
149
+ return result;
150
+
151
+ }
152
+
153
+
154
+
155
+ ```
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+ ###出力:
164
+
165
+ ```
166
+
167
+ Welcome :)
168
+
169
+ How many dices would you like to roll? Please enter a number:(入力)2
170
+
171
+ 5
172
+
173
+ 1
174
+
175
+ Total: 6
176
+
177
+ ```
178
+
179
+
180
+
181
+ ###想定している出力:
182
+
183
+ ```
184
+
185
+ Welcome :)
186
+
187
+ How many dices would you like to roll? Please enter a number:(入力)2
188
+
189
+ 5
190
+
191
+ 1
192
+
193
+ Total: 6
194
+
195
+ Would you still like to roll the dice(s) again?(Yes or No)
196
+
197
+ (入力)Yes
198
+
199
+ How many dices would you like to roll this time?
200
+
201
+ (入力)3
202
+
203
+ 2
204
+
205
+ 2
36
206
 
37
207
  6
38
208
 
39
- 7 while (true) {
40
-
41
- 8 System.out.println("Would you still like to roll the dice(s) again?(Yes or No)");
42
-
43
- 9 Scanner sc = new Scanner(System.in);
44
-
45
- 10 String answer = sc.next();
46
-
47
- 11 if (answer.toLowerCase().equals("yes")) {
48
-
49
- 12 System.out.println("How many dices would you like to roll this time?");
50
-
51
- 13 askAndRollAndSum();
52
-
53
- 14 } else {
54
-
55
- 15 System.out.println("Thank you for your time :)");
56
-
57
- 16 break;
58
-
59
- 17 }
60
-
61
- 18 }
62
-
63
- 19 }
64
-
65
- 20
66
-
67
-
68
-
69
- ```
70
-
71
-
72
-
73
-
74
-
75
- 5行目で以下のメソッドを呼び出しており、当該メソッドは実行されるのですが、それ以降のコードが実行されません。
76
-
77
-
78
-
79
- ###問題のメソッド
80
-
81
-
82
-
83
- ```Java
84
-
85
- 21 public static void askAndRollAndSum() {
86
-
87
- 22 while (true) {
88
-
89
- 23 int sum = 0;
90
-
91
- 24 Scanner sc = new Scanner(System.in);
92
-
93
- 25 int numberOfDices = sc.nextInt();
94
-
95
- 26 if (numberOfDices <= 0) {
96
-
97
- 27 System.out.println("Please enter a number bigger than 0");
98
-
99
- 28 numberOfDices = sc.nextInt();
100
-
101
- 29 if (numberOfDices <= 0) {
102
-
103
- 30 System.out.println("Please try again! Sorry :(");
104
-
105
- 31 break;
106
-
107
- 32 }
108
-
109
- 33 }
110
-
111
- 34 for (int i = 0; i < numberOfDices; i++) {
112
-
113
- 35 int resultOfThisTime = valueOfDice();
114
-
115
- 36 System.out.println(resultOfThisTime);
116
-
117
- 37 sum += resultOfThisTime;
118
-
119
- 38 }
120
-
121
- 39 System.out.println("Total: " + sum);
122
-
123
- 40 }
124
-
125
- 41 }
126
-
127
- 42
128
-
129
- ```
130
-
131
-
132
-
133
-
134
-
135
- 一度ほぼこの通りのコードで想定通りの動きをしたのですが、細かい部分を修正していたら、どこかいじってしまったようで、このメソッドの実行後の処理が行われなくなってしまいました。
136
-
137
-
138
-
139
- ###問題の起きていないメソッド
140
-
141
- ```Java
142
-
143
- 43 public static int valueOfDice() {
144
-
145
- 44 Random rand = new Random();
146
-
147
- 45 int result = rand.nextInt(6) + 1;
148
-
149
- 46 return result;
150
-
151
- 47 }
152
-
153
-
154
-
155
- ```
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
- ###出力:
164
-
165
- ```
166
-
167
- Welcome :)
168
-
169
- How many dices would you like to roll? Please enter a number:(入力)2
170
-
171
- 5
172
-
173
- 1
174
-
175
- Total: 6
209
+ Total: 10
176
-
177
- ```
178
-
179
-
180
-
181
- ###想定している出力:
182
-
183
- ```
184
-
185
- Welcome :)
186
-
187
- How many dices would you like to roll? Please enter a number:(入力)2
188
-
189
- 5
190
-
191
- 1
192
-
193
- Total: 6
194
210
 
195
211
  Would you still like to roll the dice(s) again?(Yes or No)
196
212
 
197
- (入力)Yes
198
-
199
- How many dices would you like to roll this time?
200
-
201
- (入力)3
202
-
203
- 2
204
-
205
- 2
206
-
207
- 6
208
-
209
- Total: 10
210
-
211
- Would you still like to roll the dice(s) again?(Yes or No)
212
-
213
213
  (入力)No
214
214
 
215
215
  Thank you for your time :)
@@ -218,7 +218,7 @@
218
218
 
219
219
 
220
220
 
221
- 一度想定通りうまくにいったのですが、色々と細かいところをいじっていたら、5行目のaskAndRollAndSum();の後の処理が行われないようになってしまいました。
221
+ 一度想定通りうまくにいったのですが、色々と細かいところをいじっていたら、メインメソッド5行目のaskAndRollAndSum();の後の処理が行われないようになってしまいました。
222
222
 
223
223
  試しに、問題のメソッドの代わりに、問題の起きていないメソッドを5行目にて実行・printしてみたのですが、こちらは問題なくその後の処理も行われました。
224
224