C~K的班級
Problem Description
經過不懈的努力,C~K終於當上了班主任。
現在他要統計班裡學生的名單,但是C~K在教務系統中匯出班級名單時出了問題,發現會有同學的資訊重複,現在他想把重複的同學資訊刪掉,只保留一個,
但是工作量太大了,所以找到了會程式設計的你,你能幫他解決這個問題嗎?
Input
第一行輸入一個N,代表C~K匯出的名單共有N行(N 接下來的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
package pp; import java.util.*; class Person{ String son, name, sex; int age; public Person(String son, String name, int age, String sex) {//順序不能錯 super(); this.son = son; this.name = name; this.age = age; this.sex = sex; } @Override 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 + ((sex == null) ? 0 : sex.hashCode()); result = prime * result + ((son == null) ? 0 : son.hashCode()); return result; } @Override 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 (sex == null) { if (other.sex != null) return false; } else if (!sex.equals(other.sex)) return false; if (son == null) { if (other.son != null) return false; } else if (!son.equals(other.son)) return false; return true; } public String toString() { return son + " " + name + " " + age + " " + sex; } } public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()) { int n = sc.nextInt();//幾個人 Listlist = new ArrayList (); while(n-- != 0) { String son = sc.next(); String name = sc.next(); int age = sc.nextInt(); String sex = sc.next(); Person p = new Person(son, name, age, sex); if(!list.contains(p))//排除重複元素 { list.add(p); } } System.out.println(list.size());//個數 Iterator it = list.iterator(); while(it.hasNext()) { System.out.println(it.next()); } } sc.close(); } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2035/viewspace-2800252/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 班級問題(c++)C++
- K12教育江湖的班課模式之爭模式
- 藍橋杯-班級活動
- 微軟網路班級網站微軟網站
- 基於單連結串列的班級通訊錄
- 查詢每個班級前幾名
- 一個班級21位家長被騙!已有騙子潛入多個班級群瘋狂騙錢
- GUI程式設計--班級資訊收集系GUI程式設計
- GUI程式設計--班級資訊收集系..GUI程式設計
- 製作一個表格,顯示班級的學生資訊。
- GUI程式設計--班級資訊收集系6.3GUI程式設計
- E. C+K+S
- C. k-Amazing Numbers
- 蓋世計劃--北京營--0731--C班模擬
- 用 python 偷偷給班級群女同學的顏值進行排名Python
- Kubernetes/K8s架構師實戰集訓營【高階班】K8S架構
- 班級擂臺(光榮)榜 - 極簡教育小工具
- 滴水中級班保護模式階段測試作業模式
- 解讀《班主任及班級管理》| 劉巖 & 王萍
- k05_多級快取快取
- Python學習資源(傳播智客第15期Python就業和基礎班 AI人工智慧學習班 機器學習班級)Python就業AI人工智慧機器學習
- 升級 kubeadm 部署的 k8s 叢集K8S
- k8s 叢集升級K8S
- SD-WAN的C級檢視
- C#使用Kubernetes (k8s)C#K8S
- [多表查詢] 班級表,學生表。 學生表有 3 個 a_cid. b_cid, c_cid,如何兩表查?
- 蓋世計劃-0724-B班模擬 C. 遊戲 (game)遊戲GAM
- 上海A公司的班組管理之道
- 三星的班組管理
- “資料安全管理”培訓班順利開班!
- 保姆級教程!使用k3d實現K3s高可用!3D
- 斐訊K3C改散熱
- 記錄一次班級與學生修改為多對多關係的過程
- KTL 用C++14寫公式的K線工具 - 0.9.2版C++公式
- 服務端經典的C10k問題(譯)服務端
- 【T35班班長來稿】高階影片課的學習心得
- 微服務治理技術研讀班即將開班!微服務
- Oracle 18C升級到19COracle