Problem Description
新学期开始了,在学校勤学苦练的LeiQ有一天收到一个名单,上面有n个人的信息(姓名和地址),LeiQ知道有多少人是他的老乡以及老乡的名字。
Input
多组输入,每组的第一行是一个整数n(1<=n<=100),表示名单上人的数量。
接下来一行有一个字符串表示LeiQ的地址(1<=len<=20)
接下来n行,每行两个字符串,第一个是姓名,第二个是地址
Output
先输出老乡的名字(按照输入的顺序),最后输出老乡的人数。
Sample Input
4
Laiyang
Xiaoming Laiyang
Xiaohong Heze
Xiaohuang Laiwu
Xiaoguang Laiyang
Sample Output
Xiaoming
Xiaoguang
2
AC代码:
import java.util.Scanner;
class A {
String name, dizhi;
int x;
public A(String name, String dizhi) {
super();
this.name = name;
this.dizhi = dizhi;
}
}
public class Main {
public static void main(String[] args) {
Scanner mi = new Scanner(System.in);
while (mi.hasNext()) {
int n = mi.nextInt();
String str = mi.next();
A[] a = new A[n];
for (int i = 0; i < n; i++) {
a[i] = new A(mi.next(), mi.next());
if (a[i].dizhi.compareTo(str) == 0) {
a[i].x = 1;
} else {
a[i].x = 0;
}
}
int k = 0;
for (int i = 0; i < n; i++) {
if (a[i].x == 1) {
k++;
System.out.println(a[i].name);
}
}
System.out.println(k);
}
mi.close();
}
}
——————
余生还请多多指教!