回答編集履歴

3

改正

2017/01/12 04:32

投稿

退会済みユーザー
test CHANGED
@@ -228,7 +228,7 @@
228
228
 
229
229
  continue;
230
230
 
231
- String as = " ,\t";
231
+
232
232
 
233
233
  String[] s = dat.split(",\t");
234
234
 

2

改正

2017/01/12 04:32

投稿

退会済みユーザー
test CHANGED
@@ -173,3 +173,187 @@
173
173
  }
174
174
 
175
175
  ```
176
+
177
+
178
+
179
+ サンプルとして提示したデータと区切り文字が異なっていたので、実際に使用されたデータの区切り文字に対してコードを以下に組みなおしました
180
+
181
+
182
+
183
+ ```java
184
+
185
+ import java.io.*;
186
+
187
+ import java.util.*;
188
+
189
+
190
+
191
+ class GOV {
192
+
193
+
194
+
195
+ public static void main(String[] args) {
196
+
197
+ HashSet<String> uID = new HashSet<>();
198
+
199
+ HashSet<String> vID = new HashSet<>();
200
+
201
+ HashMap<String, Integer> uSID = new HashMap<>();
202
+
203
+ HashMap<String, Integer> vSID = new HashMap<>();
204
+
205
+ ArrayList<String> uIID = new ArrayList<>();
206
+
207
+ ArrayList<String> vIID = new ArrayList<>();
208
+
209
+ ArrayList<Integer> uIIID = new ArrayList<>();
210
+
211
+ ArrayList<Integer> vIIID = new ArrayList<>();
212
+
213
+ ArrayList<Integer> star = new ArrayList<>();
214
+
215
+
216
+
217
+ try (BufferedReader br = new BufferedReader(new FileReader("17.txt"))) {
218
+
219
+
220
+
221
+ String dat = "";
222
+
223
+ dat = br.readLine();
224
+
225
+ while ((dat = br.readLine()) != null) {
226
+
227
+ if (dat.length() == 0)
228
+
229
+ continue;
230
+
231
+ String as = " ,\t";
232
+
233
+ String[] s = dat.split(",\t");
234
+
235
+ s[0] = s[0].trim();
236
+
237
+ s[1] = s[1].trim();
238
+
239
+ s[2] = s[2].trim();
240
+
241
+
242
+
243
+ uID.add(s[0]);
244
+
245
+ vID.add(s[1]);
246
+
247
+
248
+
249
+ uIID.add(s[0]);
250
+
251
+ vIID.add(s[1]);
252
+
253
+
254
+
255
+ star.add(Integer.parseInt(s[2]));
256
+
257
+
258
+
259
+ }
260
+
261
+
262
+
263
+ } catch (Exception e) {
264
+
265
+ e.printStackTrace();
266
+
267
+ }
268
+
269
+
270
+
271
+ int co = 0;
272
+
273
+ for (String s1 : uID) {
274
+
275
+ co++;
276
+
277
+ uSID.put(s1, co);
278
+
279
+ }
280
+
281
+ co = 0;
282
+
283
+ for (String s1 : vID) {
284
+
285
+ co++;
286
+
287
+ vSID.put(s1, co);
288
+
289
+ }
290
+
291
+
292
+
293
+ for (String s1 : uIID) {
294
+
295
+ uIIID.add(uSID.get(s1));
296
+
297
+ }
298
+
299
+ for (String s1 : vIID) {
300
+
301
+ vIIID.add(vSID.get(s1) + 100);
302
+
303
+ }
304
+
305
+ System.out.println("userID\tvenueID\tstar ");
306
+
307
+ for (int a = 0; a < uIID.size(); a++) {
308
+
309
+ System.out.print(uIIID.get(a) + "\t");
310
+
311
+ System.out.print(vIIID.get(a) + "\t");
312
+
313
+ System.out.print(star.get(a));
314
+
315
+ System.out.println();
316
+
317
+ }
318
+
319
+
320
+
321
+ try (BufferedWriter br = new BufferedWriter(new FileWriter("18.txt"))) {
322
+
323
+ br.write("userID\tvenueID\tstar ");
324
+
325
+ br.newLine();
326
+
327
+
328
+
329
+ for (int a = 0; a < uIID.size(); a++) {
330
+
331
+ br.write(uIIID.get(a) + "\t");
332
+
333
+ br.write(vIIID.get(a) + "\t");
334
+
335
+ br.write(star.get(a) + "");
336
+
337
+ if (a != uIIID.size() - 1) {
338
+
339
+ br.newLine();
340
+
341
+ }
342
+
343
+ }
344
+
345
+
346
+
347
+ } catch (Exception e) {
348
+
349
+ }
350
+
351
+
352
+
353
+ }
354
+
355
+
356
+
357
+ }
358
+
359
+ ```

1

改正

2017/01/12 04:29

投稿

退会済みユーザー
test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
 
46
46
 
47
- try (BufferedReader br = new BufferedReader(new FileReader("17.txt"))) {
47
+ try (BufferedReader br = new BufferedReader(new FileReader("17.txt"))) {//入力ファイルパス
48
48
 
49
49
 
50
50
 
@@ -134,7 +134,7 @@
134
134
 
135
135
 
136
136
 
137
- try (BufferedWriter br = new BufferedWriter(new FileWriter("18.txt"))) {
137
+ try (BufferedWriter br = new BufferedWriter(new FileWriter("18.txt"))) {//出力ファイルパス
138
138
 
139
139
  br.write("userID\tvenueID\tstar ");
140
140