java题目HJ94 记票统计

描述

请实现一个计票统计系统。你会收到很多投票,其中有合法的也有不合法的,请统计每个候选人得票的数量以及不合法的票数。
(注:不合法的投票指的是投票的名字不存在n个候选人的名字中!!)
本题有多组样例输入。
 
数据范围:每组输入中候选人数量满足 1 \le n \le 100 \1n100  ,总票数量满足 1 \le n \le 100 \1n100 

输入描述:

输入候选人的人数n,第二行输入n个候选人的名字(均为大写字母的字符串),第三行输入投票人的人数,第四行输入投票。

输出描述:

按照输入的顺序,每行输出候选人的名字和得票数量(以" : "隔开,注:英文冒号左右两边都有一个空格!),最后一行输出不合法的票数,格式为"Invalid : "+不合法的票数。

示例1

输入:
4
A B C D
8
A D E CF A GG A B
输出:
A : 3
B : 1
C : 0
D : 1
Invalid : 3

 

 

 1 import java.io.*;
 2 import java.util.*;
 3 
 4 public class Main {
 5     public static void main(String[] args) throws IOException {
 6         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 7         String str = null;
 8         while((str = br.readLine()) != null) {
 9             int ren = Integer.parseInt(str);
10             int invalid = 0;
11 
12             int[] depiao = new int[ren];
13             String[] name = new String[ren];
14             name = br.readLine().split(" ");
15             int number = Integer.parseInt(br.readLine());
16             
17             String[] piao = new String[number];
18             piao = br.readLine().split(" ");
19             
20             for( int i =0; i < piao.length; i++) {
21                 for(int j =0; j< name.length; j++) {
22                     if(piao[i].equals(name[j])) {
23                         depiao[j]++;
24                         break;
25                     }
26                     if(j == name.length-1)
27                         invalid++;
28                 }
29                 
30             }
31             for(int i=0; i< name.length; i++)
32             System.out.println(name[i] + " : " + depiao[i]);
33             System.out.println("Invalid : " + invalid);
34         }
35     }
36 }

 

posted @ 2022-03-06 18:12  海漠  阅读(254)  评论(0)    收藏  举报