回答編集履歴

1

import文も追加

2016/02/15 07:53

投稿

root_jp
root_jp

スコア4666

test CHANGED
@@ -8,44 +8,68 @@
8
8
 
9
9
  ```Java
10
10
 
11
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
11
+ import java.io.BufferedReader;
12
12
 
13
- // 当選番号
13
+ import java.io.InputStreamReader;
14
14
 
15
- System.out.println("当選番号を入力してください");
15
+ import java.util.ArrayList;
16
16
 
17
+ import java.util.Arrays;
18
+
19
+ import java.util.List;
20
+
17
- List<String> luckyNumbers = Arrays.asList(br.readLine().split(" "));
21
+ import java.util.stream.Stream;
18
22
 
19
23
 
20
24
 
21
- // 購入枚数
25
+ public class Main {
22
26
 
23
- System.out.println("購入枚数を入力してください");
27
+ public static void main(String[] args) throws Exception {
24
28
 
29
+ // 細かい入力チェックと例外の処理は省きます
30
+
31
+ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
32
+
33
+ // 当選番号
34
+
35
+ System.out.println("当選番号を入力してください");
36
+
25
- int buiedTicketNumber = Integer.parseInt(br.readLine());
37
+ List<String> luckyNumbers = Arrays.asList(br.readLine().split(" "));
26
38
 
27
39
 
28
40
 
29
- // 自分の番号
41
+ // 購入枚数
30
42
 
31
- List<String[]> myNumbersList = new ArrayList<>();
43
+ System.out.println("購入枚数を入力してください");
32
44
 
33
- System.out.println("自分の番号を入力してください");
45
+ int buiedTicketNumber = Integer.parseInt(br.readLine());
34
46
 
35
- for (int i = 0; i < buiedTicketNumber; i++) {
36
47
 
48
+
49
+ // 自分の番号
50
+
51
+ List<String[]> myNumbersList = new ArrayList<>();
52
+
53
+ System.out.println("自分の番号を入力してください");
54
+
55
+ for (int i = 0; i < buiedTicketNumber; i++) {
56
+
37
- myNumbersList.add(br.readLine().split(" "));
57
+ myNumbersList.add(br.readLine().split(" "));
58
+
59
+ }
60
+
61
+
62
+
63
+ // 券ごとの当選数を表示
64
+
65
+ myNumbersList.stream().map(myNumbers -> {
66
+
67
+ return Stream.of(myNumbers).filter(luckyNumbers::contains).count();
68
+
69
+ }).forEach(System.out::println);
70
+
71
+ }
38
72
 
39
73
  }
40
74
 
41
-
42
-
43
- // 券ごとの当選数を表示
44
-
45
- myNumbersList.stream().map(myNumbers -> {
46
-
47
- return Stream.of(myNumbers).filter(luckyNumbers::contains).count();
48
-
49
- }).forEach(System.out::println);
50
-
51
75
  ```