質問編集履歴

1

書式変更

2019/08/02 05:18

投稿

Java_beginner
Java_beginner

スコア16

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,7 @@
1
+ ### 前提・実現したいこと
2
+
3
+
4
+
1
5
  Java初心者です。思い通りの結果表示にならず困っています。
2
6
 
3
7
  アドバイスいただけたらとても助かります。
@@ -20,6 +24,10 @@
20
24
 
21
25
  結果を表示(←ここは、まだコード作成していません。問題解決していない為。)
22
26
 
27
+
28
+
29
+ ### 発生している問題・エラーメッセージ
30
+
23
31
  ★解決したいところ
24
32
 
25
33
  11回目以降~もSwingで設定したボタンを押し続けると、じゃんけんが無限に続いてしまう。
@@ -28,250 +36,210 @@
28
36
 
29
37
 
30
38
 
39
+ ### 該当のソースコード
40
+
41
+
42
+
43
+ ```java
44
+
45
+
46
+
47
+ import java.awt.Color;
48
+
49
+ import java.awt.Font;
50
+
51
+ import java.awt.event.ActionEvent;
52
+
53
+ import java.awt.event.ActionListener;
54
+
55
+ import java.util.Random;
56
+
57
+
58
+
59
+ import javax.swing.ImageIcon;
60
+
61
+ import javax.swing.JButton;
62
+
63
+ import javax.swing.JFrame;
64
+
65
+ import javax.swing.JLabel;
66
+
67
+ import javax.swing.JPanel;
68
+
69
+
70
+
71
+ public class Janken extends JFrame implements ActionListener {
72
+
73
+ private static final long serialVersionUID = 1L;
74
+
75
+ JButton rock;
76
+
77
+ JButton scissors;
78
+
79
+ JButton paper;
80
+
81
+ JLabel label;
82
+
83
+ JLabel image;
84
+
85
+ JLabel image2;
86
+
87
+ int countNum;
88
+
89
+
90
+
91
+ public Janken(String title) {
92
+
93
+ super(title);
94
+
95
+ setBounds(700, 700, 700, 700);
96
+
97
+ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
98
+
99
+ JPanel p = new JPanel();
100
+
101
+ p.setLayout(null);
102
+
103
+ label = new JLabel("サザエさんと、じゃんけんしましょ", JLabel.CENTER);
104
+
105
+ label.setFont(new Font(null, Font.BOLD, 30));
106
+
107
+ image = new JLabel(
108
+
109
+ new ImageIcon("C:\amslssn\pleiades\workspace\Lesson\src\javaHumanNet\ダウンロード (1).jpg"));
110
+
111
+ image.setBounds(150, 0, 400, 400);
112
+
113
+ add(image);
114
+
115
+ add("North", label);
116
+
117
+ rock = new JButton(new ImageIcon("rock.gif"));
118
+
119
+ rock.setBounds(150, 400, 100, 100);
120
+
121
+ rock.addActionListener(this);
122
+
123
+ p.add(rock);
124
+
125
+ scissors = new JButton(new ImageIcon("scissors.gif"));
126
+
127
+ scissors.setBounds(300, 400, 100, 100);
128
+
129
+ scissors.addActionListener(this);
130
+
131
+ p.add(scissors);
132
+
133
+ paper = new JButton(new ImageIcon("paper.gif"));
134
+
135
+ paper.setBounds(450, 400, 100, 100);
136
+
137
+ paper.addActionListener(this);
138
+
139
+ p.add(paper);
140
+
141
+ p.setBackground(Color.gray);
142
+
143
+ add("Center", p);
144
+
145
+ setVisible(true);
146
+
147
+ countNum = 0;
148
+
149
+ }
150
+
151
+
152
+
153
+ public static void main(String[] args) {
154
+
155
+ Janken jk = new Janken("じゃんけんゲーム");
156
+
157
+ while(true){
158
+
159
+ try {
160
+
161
+ Thread.sleep(100);
162
+
163
+ } catch (InterruptedException e) {
164
+
165
+ // TODO 自動生成された catch ブロック
166
+
31
- 下記に、作成したコードを添付しています。
167
+ e.printStackTrace();
168
+
32
-
169
+ }
170
+
171
+ if(jk.countNum > 10){
172
+
173
+ System.out.println("end");
174
+
175
+
176
+
177
+ break;
178
+
179
+ }
180
+
181
+ }
182
+
183
+ }
184
+
185
+
186
+
187
+ public void actionPerformed(ActionEvent e) {
188
+
189
+ int iYou = 0;
190
+
191
+ if (e.getSource() == scissors) {
192
+
193
+ iYou = 1;
194
+
195
+ } else if (e.getSource() == paper) {
196
+
197
+ iYou = 2;
198
+
199
+ }
200
+
201
+ Random r = new Random();
202
+
203
+ int j = r.nextInt(3);
204
+
205
+ String[] Hand = { "グー", "チョキ", "パー" };
206
+
207
+
208
+
209
+
210
+
211
+ if (j == iYou) {
212
+
213
+ label.setText("サザエさんは" + Hand[j] + "、引き分けです");
214
+
215
+ } else if ((iYou == 0 && j == 1) || (iYou == 1 && j == 2) || (iYou == 2 && j == 0)) {
216
+
217
+ label.setText("サザエさんは" + Hand[j] + "、あなたの勝ちです");
218
+
219
+ } else {
220
+
221
+ label.setText("サザエさんは" + Hand[j] + "、サザエさんの勝ちです");
222
+
223
+ }
224
+
225
+ countNum++;
226
+
227
+
228
+
229
+
230
+
231
+ }
232
+
233
+ }
234
+
235
+
236
+
237
+
238
+
239
+ ### 試したこと
240
+
33
- 投稿が初めてなので、こちらの記述至らぬ点があったら訳ございません。
241
+ mainメソッドwhile文を使用し回数制限を試みまたが上手くませんでした
242
+
243
+
34
244
 
35
245
  よろしくお願い致します。
36
-
37
-
38
-
39
- <<じゃんけんプログラム>>
40
-
41
- import java.awt.Color;
42
-
43
- import java.awt.Font;
44
-
45
- import java.awt.event.ActionEvent;
46
-
47
- import java.awt.event.ActionListener;
48
-
49
- import java.util.Random;
50
-
51
-
52
-
53
- import javax.swing.ImageIcon;
54
-
55
- import javax.swing.JButton;
56
-
57
- import javax.swing.JFrame;
58
-
59
- import javax.swing.JLabel;
60
-
61
- import javax.swing.JPanel;
62
-
63
-
64
-
65
- public class Janken extends JFrame implements ActionListener {
66
-
67
- private static final long serialVersionUID = 1L;
68
-
69
- JButton rock;
70
-
71
- JButton scissors;
72
-
73
- JButton paper;
74
-
75
- JLabel label;
76
-
77
- JLabel image;
78
-
79
- JLabel image2;
80
-
81
- int countNum;
82
-
83
-
84
-
85
- public Janken(String title) {
86
-
87
- super(title);
88
-
89
- setBounds(700, 700, 700, 700);
90
-
91
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
92
-
93
- JPanel p = new JPanel();
94
-
95
- p.setLayout(null);
96
-
97
- label = new JLabel("サザエさんと、じゃんけんしましょ", JLabel.CENTER);
98
-
99
- label.setFont(new Font(null, Font.BOLD, 30));
100
-
101
- image = new JLabel(
102
-
103
- new ImageIcon("C:\amslssn\pleiades\workspace\Lesson\src\javaHumanNet\ダウンロード (1).jpg"));
104
-
105
- image.setBounds(150, 0, 400, 400);
106
-
107
- add(image);
108
-
109
- add("North", label);
110
-
111
- rock = new JButton(new ImageIcon("rock.gif"));
112
-
113
- rock.setBounds(150, 400, 100, 100);
114
-
115
- rock.addActionListener(this);
116
-
117
- p.add(rock);
118
-
119
- scissors = new JButton(new ImageIcon("scissors.gif"));
120
-
121
- scissors.setBounds(300, 400, 100, 100);
122
-
123
- scissors.addActionListener(this);
124
-
125
- p.add(scissors);
126
-
127
- paper = new JButton(new ImageIcon("paper.gif"));
128
-
129
- paper.setBounds(450, 400, 100, 100);
130
-
131
- paper.addActionListener(this);
132
-
133
- p.add(paper);
134
-
135
- p.setBackground(Color.gray);
136
-
137
- add("Center", p);
138
-
139
- setVisible(true);
140
-
141
- countNum = 0;
142
-
143
- }
144
-
145
-
146
-
147
- public static void main(String[] args) {
148
-
149
- Janken jk = new Janken("じゃんけんゲーム");
150
-
151
- while(true){
152
-
153
- try {
154
-
155
- Thread.sleep(100);
156
-
157
- } catch (InterruptedException e) {
158
-
159
- // TODO 自動生成された catch ブロック
160
-
161
- e.printStackTrace();
162
-
163
- }
164
-
165
- if(jk.countNum > 10){
166
-
167
- System.out.println("end");
168
-
169
-
170
-
171
- break;
172
-
173
- }
174
-
175
- }
176
-
177
- }
178
-
179
-
180
-
181
- public void actionPerformed(ActionEvent e) {
182
-
183
- int iYou = 0;
184
-
185
- if (e.getSource() == scissors) {
186
-
187
- iYou = 1;
188
-
189
- } else if (e.getSource() == paper) {
190
-
191
- iYou = 2;
192
-
193
- }
194
-
195
- Random r = new Random();
196
-
197
- int j = r.nextInt(3);
198
-
199
- String[] Hand = { "グー", "チョキ", "パー" };
200
-
201
-
202
-
203
-
204
-
205
- if (j == iYou) {
206
-
207
- label.setText("サザエさんは" + Hand[j] + "、引き分けです");
208
-
209
- } else if ((iYou == 0 && j == 1) || (iYou == 1 && j == 2) || (iYou == 2 && j == 0)) {
210
-
211
- label.setText("サザエさんは" + Hand[j] + "、あなたの勝ちです");
212
-
213
- } else {
214
-
215
- label.setText("サザエさんは" + Hand[j] + "、サザエさんの勝ちです");
216
-
217
- }
218
-
219
- countNum++;
220
-
221
-
222
-
223
-
224
-
225
- }
226
-
227
- }
228
-
229
- ### 前提・実現したいこと
230
-
231
-
232
-
233
- ここに質問の内容を詳しく書いてください。
234
-
235
- (例)PHP(CakePHP)で●●なシステムを作っています。
236
-
237
- ■■な機能を実装中に以下のエラーメッセージが発生しました。
238
-
239
-
240
-
241
- ### 発生している問題・エラーメッセージ
242
-
243
-
244
-
245
- ```
246
-
247
- エラーメッセージ
248
-
249
- ```
250
-
251
-
252
-
253
- ### 該当のソースコード
254
-
255
-
256
-
257
- ```ここに言語名を入力
258
-
259
- ソースコード
260
-
261
- ```
262
-
263
-
264
-
265
- ### 試したこと
266
-
267
-
268
-
269
- ここに問題に対して試したことを記載してください。
270
-
271
-
272
-
273
- ### 補足情報(FW/ツールのバージョンなど)
274
-
275
-
276
-
277
- ここにより詳細な情報を記載してください。