質問編集履歴

1

インデントが見える様にした。

2019/11/15 12:04

投稿

Damaku_ProG
Damaku_ProG

スコア29

test CHANGED
File without changes
test CHANGED
@@ -28,395 +28,401 @@
28
28
 
29
29
  ソースコード
30
30
 
31
+ import javax.swing.JFrame;
32
+
33
+ import javax.swing.JPanel;
34
+
35
+ import javax.swing.JButton;
36
+
37
+ import javax.swing.JTextField;
38
+
39
+ import javax.swing.border.LineBorder;
40
+
41
+ import java.awt.BorderLayout;
42
+
43
+ import java.awt.GridLayout;
44
+
45
+ import java.awt.Color;
46
+
47
+ import java.awt.Font;
48
+
49
+ import java.awt.Dimension;
50
+
51
+ import java.awt.event. *;
52
+
53
+ import java.math.BigDecimal;
54
+
55
+
56
+
57
+ public class Dentaku extends JFrame implements ActionListener{
58
+
59
+
60
+
61
+ JTextField jtf = new JTextField(20);
62
+
63
+
64
+
65
+ //ボタン作成
66
+
67
+ JButton btn1 = new JButton("1");
68
+
69
+ JButton btn2 = new JButton("2");
70
+
71
+ JButton btn3 = new JButton("3");
72
+
73
+ JButton btn4 = new JButton("4");
74
+
75
+ JButton btn5 = new JButton("5");
76
+
77
+ JButton btn6 = new JButton("6");
78
+
79
+ JButton btn7 = new JButton("7");
80
+
81
+ JButton btn8 = new JButton("8");
82
+
83
+ JButton btn9 = new JButton("9");
84
+
85
+ JButton btnTasu = new JButton("+");
86
+
87
+ JButton btnHiku = new JButton("-");
88
+
89
+ JButton btnKakeru = new JButton("×");
90
+
91
+ JButton btnWaru = new JButton("÷");
92
+
93
+ JButton btnIkoru = new JButton("=");
94
+
95
+ JButton btn0 = new JButton("0");
96
+
97
+ JButton btnClear = new JButton("AC");
98
+
99
+
100
+
101
+
102
+
103
+ static int i = 0;//最初の数をString→intにする。
104
+
105
+ static int j = 0;//加減乗除判別
106
+
107
+ static BigDecimal i2; //割り算用最初の数
108
+
109
+ static BigDecimal k2;//割り算用次の数
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+ public static void main(String[] args){
118
+
119
+ Dentaku jf = new Dentaku();
120
+
121
+
122
+
123
+ jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
124
+
125
+ jf.setVisible(true);
126
+
127
+
128
+
129
+ }
130
+
131
+ Dentaku(){
132
+
133
+
134
+
135
+ //フレームの作成
136
+
137
+ setBounds(100, 100, 500, 500);
138
+
139
+ setTitle("自作電卓");
140
+
141
+
142
+
143
+ //上側のパネルの作成
144
+
145
+ JPanel jp1 = new JPanel();
146
+
147
+ jp1.setBackground(Color.BLACK);
148
+
149
+ jp1.setPreferredSize(new Dimension(500, 100));
150
+
151
+ jp1.setLayout(new BorderLayout());
152
+
153
+
154
+
155
+ //真ん中のパネルの作成
156
+
157
+ JPanel jp2 = new JPanel();
158
+
159
+ jp2.setBackground(Color.RED);
160
+
161
+
162
+
163
+ GridLayout layout = new GridLayout();
164
+
165
+ layout.setColumns(3);
166
+
167
+ layout.setRows(4);
168
+
169
+ jp2.setLayout(layout);
170
+
171
+
172
+
173
+
174
+
175
+ //ボタンをアクションリスナーに登録
176
+
177
+ btn1.addActionListener(this);
178
+
179
+ btn2.addActionListener(this);
180
+
181
+ btn3.addActionListener(this);
182
+
183
+ btn4.addActionListener(this);
184
+
185
+ btn5.addActionListener(this);
186
+
187
+ btn6.addActionListener(this);
188
+
189
+ btn7.addActionListener(this);
190
+
191
+ btn8.addActionListener(this);
192
+
193
+ btn9.addActionListener(this);
194
+
195
+ btnTasu.addActionListener(this);
196
+
197
+ btnHiku.addActionListener(this);
198
+
199
+ btnKakeru.addActionListener(this);
200
+
201
+ btnWaru.addActionListener(this);
202
+
203
+ btnIkoru.addActionListener(this);
204
+
205
+ btn0.addActionListener(this);
206
+
207
+ btnClear.addActionListener(this);
208
+
209
+
210
+
211
+ //ボタン貼り付け
212
+
213
+ jp2.add(btn1);
214
+
215
+ jp2.add(btn2);
216
+
217
+ jp2.add(btn3);
218
+
219
+ jp2.add(btnTasu);
220
+
221
+ jp2.add(btn4);
222
+
223
+ jp2.add(btn5);
224
+
225
+ jp2.add(btn6);
226
+
227
+ jp2.add(btnHiku);
228
+
229
+ jp2.add(btn7);
230
+
231
+ jp2.add(btn8);
232
+
233
+ jp2.add(btn9);
234
+
235
+ jp2.add(btnKakeru);
236
+
237
+ jp2.add(btnIkoru);
238
+
239
+ jp2.add(btn0);
240
+
241
+ jp2.add(btnClear);
242
+
243
+ jp2.add(btnWaru);
244
+
245
+
246
+
247
+ //テキストフィールド作成
248
+
249
+ jtf.setPreferredSize(new Dimension(300, 80));
250
+
251
+ jtf.setBorder(new LineBorder(Color.BLACK, 6));
252
+
253
+ jtf.setFont(new Font("MSゴシック", Font.PLAIN, 32));
254
+
255
+
256
+
257
+ //テキストフィールド貼り付け
258
+
259
+ jp1.add(jtf);
260
+
261
+
262
+
263
+ //フレームにパネルを張り付ける
264
+
265
+ getContentPane().add(jp1, BorderLayout.NORTH);
266
+
267
+ getContentPane().add(jp2, BorderLayout.CENTER);
268
+
269
+ }
270
+
271
+
272
+
273
+ public void actionPerformed(ActionEvent e){
274
+
275
+
276
+
277
+ String kazu = jtf.getText();
278
+
279
+
280
+
281
+
282
+
283
+ if (e.getSource() == btn1 ){ //1のボタンを押した場合
284
+
285
+ jtf.setText( kazu + "1");
286
+
287
+ }else if (e.getSource() == btn2 ){ //2のボタンを押した場合
288
+
289
+ jtf.setText( kazu + "2");
290
+
291
+ }else if (e.getSource() == btn3 ){ //3のボタンを押した場合
292
+
293
+ jtf.setText( kazu + "3");
294
+
295
+ }else if (e.getSource() == btn4 ){ //4のボタンを押した場合
296
+
297
+ jtf.setText( kazu + "4");
298
+
299
+ }else if (e.getSource() == btn5 ){ //5のボタンを押した場合
300
+
301
+ jtf.setText( kazu + "5");
302
+
303
+ }else if (e.getSource() == btn6 ){ //6のボタンを押した場合
304
+
305
+ jtf.setText( kazu + "6");
306
+
307
+ }else if (e.getSource() == btn7 ){ //7のボタンを押した場合
308
+
309
+ jtf.setText( kazu + "7");
310
+
311
+ }else if (e.getSource() == btn8 ){ //8のボタンを押した場合
312
+
313
+ jtf.setText( kazu + "8");
314
+
315
+ }else if (e.getSource() == btn9 ){ //9のボタンを押した場合
316
+
317
+ jtf.setText( kazu + "9");
318
+
319
+ }else if (e.getSource() == btn0 ){ //0のボタンを押した場合
320
+
321
+ jtf.setText( kazu + "0");
322
+
323
+ }else if (e.getSource() == btnTasu ){ //+のボタンを押した場合
324
+
325
+ i = Integer.parseInt(kazu);
326
+
327
+ j = 1;
328
+
329
+ jtf.setText("");
330
+
331
+ }else if (e.getSource() == btnHiku ){ //-のボタンを押した場合
332
+
333
+ i = Integer.parseInt(kazu); //String→intに入力した変換
334
+
335
+ j = 2;
336
+
337
+ jtf.setText("");
338
+
339
+ }else if (e.getSource() == btnKakeru ){ //×のボタンを押した場合
340
+
341
+ i = Integer.parseInt(kazu); //最初の数字をString→intに入力した変換
342
+
343
+ j = 3;
344
+
345
+ jtf.setText("");
346
+
347
+ }else if (e.getSource() == btnWaru ){ //÷のボタンを押した場合
348
+
349
+ BigDecimal i2 = new BigDecimal(kazu);
350
+
351
+ i = Integer.parseInt(kazu);
352
+
353
+ j = 4;
354
+
355
+ jtf.setText("");
356
+
357
+ }else if (e.getSource() == btnClear ){ //ACボタンを押した場合
358
+
359
+
360
+
361
+ jtf.setText("");
362
+
363
+ }else if (e.getSource() == btnIkoru ){ //=のボタンを押した場合
364
+
365
+ BigDecimal k2 = new BigDecimal(kazu); //次の数字をString→intに入力した変換
366
+
367
+ int k = Integer.parseInt(kazu);
368
+
369
+ int ansint = 0;
370
+
371
+
372
+
373
+ if ( j == 1 ){ //足し算の場合
374
+
375
+ ansint = i + k;
376
+
377
+ String ans = String.valueOf(ansint);
378
+
379
+ jtf.setText(ans);
380
+
381
+ }else if ( j == 2 ){ //引き算の場合
382
+
383
+ ansint = i - k;
384
+
385
+ String ans = String.valueOf(ansint);
386
+
387
+ jtf.setText(ans);
388
+
389
+ }else if ( j == 3 ){ //掛け算の場合
390
+
391
+ ansint = i * k;
392
+
393
+ String ans = String.valueOf(ansint);
394
+
395
+ jtf.setText(ans);
396
+
397
+ }else if ( j == 4 ){ //割り算の場合
398
+
399
+ BigDecimal ansbi = i2.divide(k2);
400
+
401
+ String ans = ansbi.toString();
402
+
403
+ jtf.setText(ans);
404
+
405
+ }
406
+
407
+
408
+
409
+ }
410
+
411
+ }
412
+
413
+
414
+
415
+
416
+
417
+ }
418
+
31
419
  ```
32
420
 
33
- import javax.swing.JFrame;
34
-
35
- import javax.swing.JPanel;
36
-
37
- import javax.swing.JButton;
38
-
39
- import javax.swing.JTextField;
40
-
41
- import javax.swing.border.LineBorder;
42
-
43
- import java.awt.BorderLayout;
44
-
45
- import java.awt.GridLayout;
46
-
47
- import java.awt.Color;
48
-
49
- import java.awt.Font;
50
-
51
- import java.awt.Dimension;
52
-
53
- import java.awt.event. *;
54
-
55
- import java.math.BigDecimal;
56
-
57
-
58
-
59
- public class Dentaku extends JFrame implements ActionListener{
60
-
61
-
62
-
63
- JTextField jtf = new JTextField(20);
64
-
65
-
66
-
67
- //ボタン作成
68
-
69
- JButton btn1 = new JButton("1");
70
-
71
- JButton btn2 = new JButton("2");
72
-
73
- JButton btn3 = new JButton("3");
74
-
75
- JButton btn4 = new JButton("4");
76
-
77
- JButton btn5 = new JButton("5");
78
-
79
- JButton btn6 = new JButton("6");
80
-
81
- JButton btn7 = new JButton("7");
82
-
83
- JButton btn8 = new JButton("8");
84
-
85
- JButton btn9 = new JButton("9");
86
-
87
- JButton btnTasu = new JButton("+");
88
-
89
- JButton btnHiku = new JButton("-");
90
-
91
- JButton btnKakeru = new JButton("×");
92
-
93
- JButton btnWaru = new JButton("÷");
94
-
95
- JButton btnIkoru = new JButton("=");
96
-
97
- JButton btn0 = new JButton("0");
98
-
99
- JButton btnClear = new JButton("AC");
100
-
101
-
102
-
103
-
104
-
105
- static int i = 0;//最初の数をString→intにする。
106
-
107
- static int j = 0;//加減乗除判別
108
-
109
- static BigDecimal i2; //割り算用最初の数
110
-
111
- static BigDecimal k2;//割り算用次の数
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
- public static void main(String[] args){
120
-
121
- Dentaku jf = new Dentaku();
122
-
123
-
124
-
125
- jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
126
-
127
- jf.setVisible(true);
128
-
129
-
130
-
131
- }
132
-
133
- Dentaku(){
134
-
135
-
136
-
137
- //フレームの作成
138
-
139
- setBounds(100, 100, 500, 500);
140
-
141
- setTitle("自作電卓");
142
-
143
-
144
-
145
- //上側のパネルの作成
146
-
147
- JPanel jp1 = new JPanel();
148
-
149
- jp1.setBackground(Color.BLACK);
150
-
151
- jp1.setPreferredSize(new Dimension(500, 100));
152
-
153
- jp1.setLayout(new BorderLayout());
154
-
155
-
156
-
157
- //真ん中のパネルの作成
158
-
159
- JPanel jp2 = new JPanel();
160
-
161
- jp2.setBackground(Color.RED);
162
-
163
-
164
-
165
- GridLayout layout = new GridLayout();
166
-
167
- layout.setColumns(3);
168
-
169
- layout.setRows(4);
170
-
171
- jp2.setLayout(layout);
172
-
173
-
174
-
175
-
176
-
177
- //ボタンをアクションリスナーに登録
178
-
179
- btn1.addActionListener(this);
180
-
181
- btn2.addActionListener(this);
182
-
183
- btn3.addActionListener(this);
184
-
185
- btn4.addActionListener(this);
186
-
187
- btn5.addActionListener(this);
188
-
189
- btn6.addActionListener(this);
190
-
191
- btn7.addActionListener(this);
192
-
193
- btn8.addActionListener(this);
194
-
195
- btn9.addActionListener(this);
196
-
197
- btnTasu.addActionListener(this);
198
-
199
- btnHiku.addActionListener(this);
200
-
201
- btnKakeru.addActionListener(this);
202
-
203
- btnWaru.addActionListener(this);
204
-
205
- btnIkoru.addActionListener(this);
206
-
207
- btn0.addActionListener(this);
208
-
209
- btnClear.addActionListener(this);
210
-
211
-
212
-
213
- //ボタン貼り付け
214
-
215
- jp2.add(btn1);
216
-
217
- jp2.add(btn2);
218
-
219
- jp2.add(btn3);
220
-
221
- jp2.add(btnTasu);
222
-
223
- jp2.add(btn4);
224
-
225
- jp2.add(btn5);
226
-
227
- jp2.add(btn6);
228
-
229
- jp2.add(btnHiku);
230
-
231
- jp2.add(btn7);
232
-
233
- jp2.add(btn8);
234
-
235
- jp2.add(btn9);
236
-
237
- jp2.add(btnKakeru);
238
-
239
- jp2.add(btnIkoru);
240
-
241
- jp2.add(btn0);
242
-
243
- jp2.add(btnClear);
244
-
245
- jp2.add(btnWaru);
246
-
247
-
248
-
249
- //テキストフィールド作成
250
-
251
- jtf.setPreferredSize(new Dimension(300, 80));
252
-
253
- jtf.setBorder(new LineBorder(Color.BLACK, 6));
254
-
255
- jtf.setFont(new Font("MSゴシック", Font.PLAIN, 32));
256
-
257
-
258
-
259
- //テキストフィールド貼り付け
260
-
261
- jp1.add(jtf);
262
-
263
-
264
-
265
- //フレームにパネルを張り付ける
266
-
267
- getContentPane().add(jp1, BorderLayout.NORTH);
268
-
269
- getContentPane().add(jp2, BorderLayout.CENTER);
270
-
271
- }
272
-
273
-
274
-
275
- public void actionPerformed(ActionEvent e){
276
-
277
-
278
-
279
- String kazu = jtf.getText();
280
-
281
-
282
-
283
-
284
-
285
- if (e.getSource() == btn1 ){ //1のボタンを押した場合
286
-
287
- jtf.setText( kazu + "1");
288
-
289
- }else if (e.getSource() == btn2 ){ //2のボタンを押した場合
290
-
291
- jtf.setText( kazu + "2");
292
-
293
- }else if (e.getSource() == btn3 ){ //3のボタンを押した場合
294
-
295
- jtf.setText( kazu + "3");
296
-
297
- }else if (e.getSource() == btn4 ){ //4のボタンを押した場合
298
-
299
- jtf.setText( kazu + "4");
300
-
301
- }else if (e.getSource() == btn5 ){ //5のボタンを押した場合
302
-
303
- jtf.setText( kazu + "5");
304
-
305
- }else if (e.getSource() == btn6 ){ //6のボタンを押した場合
306
-
307
- jtf.setText( kazu + "6");
308
-
309
- }else if (e.getSource() == btn7 ){ //7のボタンを押した場合
310
-
311
- jtf.setText( kazu + "7");
312
-
313
- }else if (e.getSource() == btn8 ){ //8のボタンを押した場合
314
-
315
- jtf.setText( kazu + "8");
316
-
317
- }else if (e.getSource() == btn9 ){ //9のボタンを押した場合
318
-
319
- jtf.setText( kazu + "9");
320
-
321
- }else if (e.getSource() == btn0 ){ //0のボタンを押した場合
322
-
323
- jtf.setText( kazu + "0");
324
-
325
- }else if (e.getSource() == btnTasu ){ //+のボタンを押した場合
326
-
327
- i = Integer.parseInt(kazu);
328
-
329
- j = 1;
421
+ ```
330
-
331
- jtf.setText("");
422
+
332
-
333
- }else if (e.getSource() == btnHiku ){ //-のボタンを押した場合
334
-
335
- i = Integer.parseInt(kazu); //String→intに入力した変換
336
-
337
- j = 2;
423
+ コード
338
-
339
- jtf.setText("");
424
+
340
-
341
- }else if (e.getSource() == btnKakeru ){ //×のボタンを押した場合
342
-
343
- i = Integer.parseInt(kazu); //最初の数字をString→intに入力した変換
344
-
345
- j = 3;
425
+ ```
346
-
347
- jtf.setText("");
348
-
349
- }else if (e.getSource() == btnWaru ){ //÷のボタンを押した場合
350
-
351
- BigDecimal i2 = new BigDecimal(kazu);
352
-
353
- i = Integer.parseInt(kazu);
354
-
355
- j = 4;
356
-
357
- jtf.setText("");
358
-
359
- }else if (e.getSource() == btnClear ){ //ACボタンを押した場合
360
-
361
-
362
-
363
- jtf.setText("");
364
-
365
- }else if (e.getSource() == btnIkoru ){ //=のボタンを押した場合
366
-
367
- BigDecimal k2 = new BigDecimal(kazu); //次の数字をString→intに入力した変換
368
-
369
- int k = Integer.parseInt(kazu);
370
-
371
- int ansint = 0;
372
-
373
-
374
-
375
- if ( j == 1 ){ //足し算の場合
376
-
377
- ansint = i + k;
378
-
379
- String ans = String.valueOf(ansint);
380
-
381
- jtf.setText(ans);
382
-
383
- }else if ( j == 2 ){ //引き算の場合
384
-
385
- ansint = i - k;
386
-
387
- String ans = String.valueOf(ansint);
388
-
389
- jtf.setText(ans);
390
-
391
- }else if ( j == 3 ){ //掛け算の場合
392
-
393
- ansint = i * k;
394
-
395
- String ans = String.valueOf(ansint);
396
-
397
- jtf.setText(ans);
398
-
399
- }else if ( j == 4 ){ //割り算の場合
400
-
401
- BigDecimal ansbi = i2.divide(k2);
402
-
403
- String ans = ansbi.toString();
404
-
405
- jtf.setText(ans);
406
-
407
- }
408
-
409
-
410
-
411
- }
412
-
413
- }
414
-
415
-
416
-
417
-
418
-
419
- }
420
426
 
421
427
 
422
428