从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序:1,张三,282,李四,353,张三,284,王五,355,张三,286,李四,357,赵六,288,田七,35程序代码如下(答题要博得用人单位的喜欢,包名用该公司,面试前就提前查好该公司的网址,如果查不到,现场问也是可以的。还要加上实现思路的注释):

题目

从类似如下的文本文件中读取出所有的姓名,并打印出

重复的姓名和重复的次数,并按重复次数排序:

1,张三,28

2,李四,35

3,张三,28

4,王五,35

5,张三,28

6,李四,35

7,赵六,28

8,田七,35

程序代码如下(答题要博得用人单位的喜欢,包名用该公司,面试前就提前查好该公司

的网址,如果查不到,现场问也是可以的。还要加上实现思路的注释):


相似考题
更多“从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序:1 ”相关问题
  • 第1题:

    正交表具有特性()。

    A.均匀分散性,整齐可比性

    B.每列中不同数字重复次数相同,任意两列不同数对重复的次数相同

    C.每列中不同数字重复次数不同,任意两列不同数对重复的次数相同

    D.每列中不同数字重复次数相同,任意两列不同数对重复的次数不同

    E.不同数字重复次数不同,任意两列不同数对重复的次数不同

    F.整齐分散性,均匀可比性


    正确

  • 第2题:

    下面属于正交表所具有的特性的是()

    A.每列中不同数字重复次数不同,任意列不同数对重复的次数相同

    B.每列中不同数字重复次数相同,任意列不同数对重复的次数相同

    C.每列中不同数字重复次数相同,任意列不同数对重复的次数不同

    D.每列中不同数字重复次数不同,任意列不同数对重复的次数不同


    ABCD

  • 第3题:

    从类似如下的文本文件中读取出所有的姓名,并打印出重复的姓名和重复的次数,并按重复次数排序 1,张三峰,48 2,李思明,35 3,张三峰,36 4,王小五,40 5,张三峰,58 6,李思明,30 7,赵云龙,67 8,田和平,24


    package com.huawei.interview; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.TreeSet; public class GetNameTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //InputStream ips = GetNameTest.class.getResourceAsStream('/com/huawei/interview/info.txt '); //用上一行注释的代码和下一行的代码都可以,因为info.txt与GetNameTest类在 同一包下面,所以,可以用下面的相对路径形式 Map results = new HashMap(); InputStream ips = GetNameTest.class.getResourceAsStream('info.txt'); BufferedReader in = new BufferedReader(new InputStreamReader(ips)); String line = null; try { while((line=in.readLine())!=null) { dealLine(line,results); } sortResults(results); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } static class User { public String name; public Integer value; public User(String name,Integer value) { this.name = name; this.value = value; } @Override public boolean equals(Object obj) { // TODO Auto-generated method stub //下面的代码没有执行,说明往treeset中增加数据时,不会使用到equals方 法。 boolean result = super.equals(obj); System.out.println(result); return result; } } private static void sortResults(Map results) { // TODO Auto-generated method stub TreeSet sortedResults = new TreeSet( new Comparator(){ public int compare(Object o1, Object o2) { // TODO Auto-generated method stub User user1 = (User)o1; User user2 = (User)o2; /*如果compareTo返回结果0,则认为两个对象相等,新的对象不 会增加到集合中去 * 所以,不能直接用下面的代码,否则,那些个数相同的其他姓 名就打印不出来。 * */ //return user1.value-user2.value; //return user1.value if(user1.value { return -1; }else if(user1.value>user2.value) { return 1; }else { return user1.name.compareTo(user2.name); } } } ); Iterator iterator = results.keySet().iterator(); while(iterator.hasNext()) { String name = (String)iterator.next(); Integer value = (Integer)results.get(name); if(value > 1) { sortedResults.add(new User(name,value)); } } printResults(sortedResults); } private static void printResults(TreeSet sortedResults) { Iterator iterator = sortedResults.iterator(); while(iterator.hasNext()) { User user = (User)iterator.next(); System.out.println(user.name + ':' + user.value); } } public static void dealLine(String line,Map map) { if(!''.equals(line.trim())) { String [] results = line.split(','); if(results.length == 3) { String name = results[1]; Integer value = (Integer)map.get(name); if(value == null) value = 0; map.put(name,value + 1); } } } }

  • 第4题:

    正交表具有特性()

    A.每列中不同数字重复次数不同,任意两列不同数对重复的次数相同

    B.每列中不同数字重复次数相同,任意两列不同数对重复的次数相同

    C.每列中不同数字重复次数相同,任意两列不同数对重复的次数不同

    D.每列中不同数字重复次数不同,任意两列不同数对重复的次数不同。


    每列中不同数字重复次数相同,任意两列不同数对重复的次数相同

  • 第5题:

    (单选题)正交表具有特性() A.每列中不同数字重复次数不同,任意列不同数对重复的次数相同 B.每列中不同数字重复次数相同,任意列不同数对重复的次数相同 C.每列中不同数字重复次数相同,任意列不同数对重复的次数不同 D.每列中不同数字重复次数不同,任意列不同数对重复的次数不同


    每列中不同数字重复次数相同,任意两列不同数对重复的次数相同