现有一文本字符串对象S,在该字符串有逗号分隔的一系列数据,该数据如下:
         ID,    Name,               Mail,            Age,      City,         1,        a,          [email protected],         21,     dalian,         2,      lucky,      [email protected] ,     22     beijing,         3,       b,          [email protected],               22     shanghai,   设计一 个对该文本进行解析的类,根据该字符串中的逗号解析这个字符串,并放到一个数据对象中要求该类中必须提供实现如下功能的方法:
1.可根据编号将个人信息排序.
2.根据所在城市和姓名查询个人信息
3.对指定的个人信息记录进行修改

解决方案 »

  1.   

    现有一文本字符串对象S,在该字符串有逗号分隔的一系列数据:是不是存放在csv文件当中,这个有开源包提供支持
      

  2.   

    这个不难吧:
    1。先做一个javaBean. 字段ID,Name,Mail,Age,City,
    每一行数据封装到一个javaBean中。
    2。在用list来放这些javaBean,用list.add(id,javaBean),实现排序了。
    3。修改的数据的话 使用一个jtable. 找到jtable中修改的那一行,对应list里面的id就行了,然后调出javabean 修改就行了。
    4. 判断","号取值,只要用字符串比较就行了,看一下string类的方法。无非就是先用“,”一个个的去比,找到位置,然后返回去取字符串就行了。
      

  3.   

    1:public class Bean {
      private String id;
      private String name;
      private Srint mail;
      private int age;
      private String city;
      // omit getter and getter
    }
    // 封装到bean中
    public List read(File file) {
     List list = new ArrayList();
      // 读取每行文件(String line),如1, a, [email protected], 21, dalian,
      String[] data = line.split(",");
      Bean bean = new Bean();
      bean.setId(data[0]);
      // omit 
      list.add(bean);  // last
      return list;
    }
    2: 排序
    Arrays.sort(list);  //list为返回结果
    3: 查询个人信息
    根据条件在返回的list查找
    public Bean findByNameAndCity(List list, String name, String city) {
       for (Iterator it = list.iterator(); it.hasNext();) {
            Bean bean = (Bean)list.next();
            // compare; return bean;
            // omit
       }
    }
    4: 更新
    // omit