日期:2014-05-18  浏览次数:21040 次

跪求啊!死等答案啊!
现有一文本字符串对象S,在该字符串有逗号分隔的一系列数据,该数据如下:

                  ID,         Name,                   Mail,                           Age,         City,

                  1,                 a,                   a@hotmail.com,         21,           dalian,

                  2,             lucky,             lucky@yahoo.com.cn   ,22           beijing,

                  3,               b,                     b@qq.com,                   22,         shanghai,

        请设计一   个对该文本进行解析的类,根据该字符串中的逗号解析这个字符串,并放到一个数据对象中要求该类中必须提供实现如下功能的方法:
1.可根据编号将个人信息排序.
2.根据所在城市和姓名查询个人信息
3.对指定的个人信息记录进行修改
4.Struts框架实现



------解决方案--------------------
要在这里写一个完整的struts程序?晕。。。
------解决方案--------------------
给你说下我的思路把,仅供参考。菜鸟一个
1,如果以上数据信息是以文本方式存在,你得先用java.io流读如到java对象中来,生成一个string对象or 在读入数据的时候就把他解吸到string数组中当然条件就上逗号;
这样基本就把数据得到了。
2,再把你数据存入你说的数据对象中,不了解你需要什么数据对象来存储,自己看着办。

除了4问外,到此,2,3问都很容易解决了。
------解决方案--------------------
下面是将字符串对象解析后放入到List对象中:
public List parseStr(String str){
List list = null;
String[] arr = str.split( ", ");//把字符串放入到数组中
int n = arr.length/5;//有多少行记录
for (int i = 0;i <n;i++){
String[] str1 = new String[5];
for (int j=0;j <5;j++){//每行记录有5条数据
str1[j]=arr[i*5+j];//此处可以根据个人需要,改为放入到其他对象中,譬如:一个实体Bean。
}
list.add(str1);
}
return list;
}

其他的东西,要帖的话,就太多了,
应该都不难的啊。
------解决方案--------------------
简单用普通类写了一下,将字符串组装成了ArrayList,其他的没做,lz为什么不持久化到数据库中操作,岂不是更方便。

public class UserInfo {

public UserInfo() {
}

private int id;
private String name;
private String mail;
private int age;
private String city;

public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public int getId() {
return id;
}
public void setId(int 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;
}
}


import java.util.ArrayList;
import java.util.Collections;

public class test {

/**
* @param args
*/
public static void main(String[] args) {
String str = "ID,Name,Mail,Age,City, " + "1,a,a@hotmail.com,21,dalian, "