teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

code

2019/10/30 21:50

投稿

ta.tatu
ta.tatu

スコア12

title CHANGED
File without changes
body CHANGED
@@ -83,91 +83,6 @@
83
83
 
84
84
  コード
85
85
  ```
86
- ```package hitandblow;
87
-
88
- import java.io.BufferedReader;
89
- import java.io.IOException;
90
- import java.io.InputStreamReader;
91
- import java.util.ArrayList;
92
- import java.util.Collections;
93
-
94
- public class hitandblow02 {
95
-
96
- public static void main(String[] args)throws IOException {
97
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
98
- ArrayList<Integer> list = new ArrayList<Integer>();
99
- String str = "5桁の数字を入力してください。";
100
- String ans ="";
101
- int num[] = new int[5];
102
- int count = 0;
103
-
104
- for(int i = 0; i <= 10; i++) {
105
- list.add(i);
106
- }
107
- Collections.shuffle(list);
108
-
109
- for(int i =0; i < num.length; i++) {
110
- num[i] = list.get(i);
111
- System.out.print(num[i]);
112
- }
113
-
114
-
115
- while(true) {
116
- System.out.println("");
117
- System.out.print(str);
118
- ans = br.readLine();
119
-
120
- if(ans.length() == 5) {
121
- str = "5桁の数字を入力してください。";
122
- count++;
123
- ArrayList<Integer> player = new ArrayList<Integer>();
124
- player.add((Integer.parseInt(ans) / 10000)% 10);
125
- player.add((Integer.parseInt(ans) / 1000)% 10);
126
- player.add((Integer.parseInt(ans) / 100)% 10);
127
- player.add((Integer.parseInt(ans) / 10)% 10);
128
- player.add(Integer.parseInt(ans) % 10);
129
-
130
- int hit = 0;
131
- for(int i = 0; i < num.length; i++) {
132
- if(player.get(i) == num[i]) {
133
- hit++;
134
- }
135
- }
136
-
137
- int blow = 0;
138
- for(int i = 0; i < num.length; i++) {
139
- for(int j = 0; j < num.length; j++) {
140
- if(player.get(i) == num[j]) {
141
- blow++;
142
- }
143
- }
144
- }
145
- if(hit == 5) {
146
- System.out.println("おめでとう!" + count + "回目で成功♪");
147
- break;
148
- }
149
-
150
- System.out.println("ヒット :" + hit + "個、 ブロー:" + (blow - hit) + "個");
151
- System.out.println("");
152
-
153
- if(count % 3 == 0) {
154
- System.out.print("ヒント : ");
155
- for(int i = 1; i <= (count / 3); i++) {
156
- System.out.print(num[i - 1]);
157
- }
158
- }else {
159
- str = "5桁の数字を入力してください。";
160
- System.out.println("");
161
- }
162
- str = "5桁の数字を入力してください。";
163
- System.out.println("");
164
- }
165
- }
166
- }
167
- }
168
-
169
- コード
170
- ```
171
86
  hit&blowを改良して見ました!
172
87
  答えが5桁や6桁になるのですが、どこが間違いか分からないです!
173
88
  教えて頂けたら助かります!