質問編集履歴

2

HIT&blow

2019/10/29 22:21

投稿

ta.tatu
ta.tatu

スコア12

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- import java.util.ArrayList;
1
+ ```import java.util.ArrayList;
2
2
 
3
3
  import java.util.Random;
4
4
 
@@ -126,7 +126,9 @@
126
126
 
127
127
  コード
128
128
 
129
+ ```
130
+
129
- ```javaでヒット&ブローを作りました!
131
+ javaでヒット&ブローを作りました!
130
132
 
131
133
  改良するために三回に一回使われている数字を出すにはどうすれば良いのか分からず困ってます。
132
134
 

1

コード添付しました

2019/10/29 22:21

投稿

ta.tatu
ta.tatu

スコア12

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,132 @@
1
+ import java.util.ArrayList;
2
+
3
+ import java.util.Random;
4
+
5
+ import java.util.Scanner;
6
+
7
+
8
+
9
+
10
+
11
+ public class hitandblow01 {
12
+
13
+
14
+
15
+ public static void main(String[] args)throws Exception {
16
+
17
+ Random random = new Random();
18
+
19
+ var sc =new Scanner(System.in);
20
+
21
+
22
+
23
+ ArrayList<Integer>ans = new ArrayList<Integer>();
24
+
25
+
26
+
27
+ ArrayList<Integer>num1 = new ArrayList<Integer>();
28
+
29
+ for(int i = 0; i < 10; i++) {
30
+
31
+ num1.add(i);
32
+
33
+ }
34
+
35
+ for(int i = 0; i < 4; i++) {
36
+
37
+ int index = random.nextInt(num1.size());
38
+
39
+ ans.add(num1.remove(index));
40
+
41
+ }
42
+
43
+ System.out.println(ans);
44
+
45
+ int count = 1;
46
+
47
+
48
+
49
+ while(true) {
50
+
51
+ ArrayList<Integer>player = new ArrayList<Integer>();
52
+
53
+
54
+
55
+ System.out.print("4桁の数字を入力して下さい。");
56
+
57
+
58
+
59
+ int num2 = sc.nextInt();
60
+
61
+ System.out.println(num2);
62
+
63
+ player.add((num2 / 1000)% 10);
64
+
65
+ player.add((num2 / 100)% 10);
66
+
67
+ player.add((num2 / 10)% 10);
68
+
69
+ player.add(num2 % 10);
70
+
71
+
72
+
73
+ int hit = 0;
74
+
75
+ for(int i =0; i < 4; i++) {
76
+
77
+ if(player.get(i)== ans.get(i)) {
78
+
79
+ hit++;
80
+
81
+ }
82
+
83
+ }
84
+
85
+ int blow = 0;
86
+
87
+ for(int i = 0; i < 4; i++) {
88
+
89
+ for(int j = 0; j < 4; j++) {
90
+
91
+ if(player.get(i)==ans.get(j)) {
92
+
93
+ blow++;
94
+
95
+ }
96
+
97
+ }
98
+
99
+ }
100
+
101
+ if(hit==4) {
102
+
103
+ System.out.println("おめでとう!"+count+"回目で成功♪");
104
+
105
+ }
106
+
107
+ System.out.println("ヒット:"+hit+"個、ブロー:"+(blow - hit)+"個");
108
+
109
+ System.out.println();
110
+
111
+ count++;
112
+
113
+ }
114
+
115
+ }
116
+
117
+
118
+
119
+ }
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+ コード
128
+
1
- javaでヒット&ブローを作りました!
129
+ ```javaでヒット&ブローを作りました!
2
130
 
3
131
  改良するために三回に一回使われている数字を出すにはどうすれば良いのか分からず困ってます。
4
132