现有一文本字符串对象S,在该字符串中有用逗号分隔的一系列数据数据。该数据如下
Id,name,mail,age,city,
1,tony,[email protected],26,tokyo,
2,frank,[email protected],18,beijing,
3,nohara,[email protected],27,fukuoka,
4,uehara,[email protected],29,fukujima,
请设计一个对该文本进行解析的类,根据该字符串中的逗号解析这个字符串,并放到一个数据对象中。要求该类中必须提供实现如下功能的方法:
A、 可根据编号将个人信息排序。
B、 根据所在城市和姓名查询个人信息。
C、 对指定的个人信息记录进行修改。
D、 Struts框架实现。PS:小弟我是初学者,面对这样的题头疼,特别最后那个什么框架,哪位大哥帮下我!谢谢阿!

解决方案 »

  1.   

    请设计一个对该文本进行解析的类..一个类,没搞错吧。。MVC框架一个类就可以写完么?
    这题目写的。
      

  2.   

    StringTokenizer st = new StringTokenizer("this is a test");
         while (st.hasMoreTokens()) {
             System.out.println(st.nextToken());
         }
    运行结果
         this
         is
         a
         testString[] result = "this is a test".split("\\s");
         for (int x=0; x<result.length; x++)
             System.out.println(result[x]);
    运行结果
         this
         is
         a
         test看看Jdk的StringTokenizer类,可以实现
      

  3.   

    解析:

    public static void main(String[] args)
    {
    String str = "Id,name,mail,age,city,"
    +"1,tony,[email protected],26,tokyo,"
    +"2,frank,[email protected],18,beijing,"
    +"3,nohara,[email protected],27,fukuoka,"
    +"4,uehara,[email protected],29,fukujima,";
    String[] temp = str.split(",");
    for(int i = 0; i<temp.length; i++)
    {
    System.out.println(temp[i]);
    }
    }

    我想意思是建一个JAVABEAN包含ID,NAME,MAIL,AGE,CITY4个属性吧,赋值后放到LIST里面就好了。
      

  4.   

    简单的写了下解析,保存 。修改的话循环取判断值是否相等,相等就修改。很容易,不写了。排序查询类似了。
    import java.util.ArrayList;public class Test1
    {
    /**
     * 
     * @param args
     */
    public static void main(String[] args)
    {
    Info info = new Info();
    String str = "Id,name,mail,age,city,"
    +"1,tony,[email protected],26,tokyo,"
    +"2,frank,[email protected],18,beijing,"
    +"3,nohara,[email protected],27,fukuoka,"
    +"4,uehara,[email protected],29,fukujima,";
    String[] temp = str.split(",");
    ArrayList infoList = new ArrayList();
    for(int i = 0; i<temp.length; i++)
    {
    if(i < 4)
    {
    //包含ID,name...头信息
    }
    else if(i%5 == 0)
    {
    info.setId(temp[i]);
    }
    else if((i-1)%5 == 0)
    {
    info.setName(temp[i]);
    }
    else if((i-2)%5 == 0)
    {
    info.setMail(temp[i]);
    }
    else if((i-3)%5 == 0)
    {
    info.setAge(temp[i]);
    }
    else if((i-4)%5 == 0)
    {
    info.setCity(temp[i]);
    }
    infoList.add(info);
    }
    }
    }  
    //javabeanpublic class Info
    {
    private String id = null;

    private String name = null;

    private String mail = null;

    private String age = null;

    private String city = null; public String getAge()
    {
    return age;
    } public void setAge(String age)
    {
    this.age = age;
    } public String getCity()
    {
    return city;
    } public void setCity(String city)
    {
    this.city = city;
    } public String getId()
    {
    return id;
    } public void setId(String id)
    {
    this.id = id;
    } public String getMail()
    {
    return mail;
    } public void setMail(String mail)
    {
    this.mail = mail;
    } public String getName()
    {
    return name;
    } public void setName(String name)
    {
    this.name = name;
    }}