C~K的班级

C~K的班级

Time Limit: 1500 ms Memory Limit: 65536 KiB

Problem Description

经过不懈的努力,C~K终于当上了班主任。
现在他要统计班里学生的名单,但是C~K在教务系统中导出班级名单时出了问题,发现会有同学的信息重复,现在他想把重复的同学信息删掉,只保留一个,
但是工作量太大了,所以找到了会编程的你,你能帮他解决这个问题吗?

Input

第一行输入一个N,代表C~K导出的名单共有N行(N<100000).
接下来的N行,每一行包括一个同学的信息,学号 姓名 年龄 性别。

Output

第一行输出一个n,代表删除重复名字后C~K的班级共有几人。
接下来的n行,输出每一个同学的信息,输出按照输入的顺序。

Sample Input

6
0001 MeiK 20 M
0001 MeiK 20 M
0002 sdk2 21 M
0002 sdk2 21 M
0002 sdk2 21 M
0000 blf2 22 F

Sample Output

3
0001 MeiK 20 M
0002 sdk2 21 M
0000 blf2 22 F

Hint

Source

import java.util.*;

class Person{
String num;
String name;
int age;
String sex;
public Person() {
}
public Person(String num, String name, int age, String sex) {
super();
this.num = num;
this.name = name;
this.age = age;
this.sex = sex;
}


public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + ((num == null) ? 0 : num.hashCode());
result = prime * result + ((sex == null) ? 0 : sex.hashCode());
return result;
}

public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Person other = (Person) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (num == null) {
if (other.num != null)
return false;
} else if (!num.equals(other.num))
return false;
if (sex == null) {
if (other.sex != null)
return false;
} else if (!sex.equals(other.sex))
return false;
return true;
}

public String toString() {
return num + " " + name + " " + age + " " + sex;
}

}

public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
List<Person> l = new ArrayList<Person>();
for(int i = 0; i < t; i++) {
String num = sc.next();
String name = sc.next();
int age = sc.nextInt();
String sex = sc.next();
Person p = new Person(num,name,age,sex);
if(!l.contains(p)) {
l.add(p);
}
}
System.out.println(l.size());
Iterator<Person> it = l.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
sc.close();
}
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huluwadeyeye/article/details/79949227
个人分类: java
上一篇C~K要找女朋友了!!!
下一篇判定Java源文件名称
想对作者说点什么? 我来说一句

c语言设计一个班级管理系统

2015年11月01日 5KB 下载

没有更多推荐了,返回首页

关闭
关闭