首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

跪求啊!死等答案啊

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

跪求啊!死等答案啊!
现有一文本字符串对象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, "


+ "2,lucky,lucky@yahoo.com.cn,22,beijing, "
+ "3,b,b@qq.com,22,shanghai ";
ArrayList a = test.parseStr(str);
for(int i=0;i <a.size();i++)
{
UserInfo u= (UserInfo)a.get(i);
System.out.println(u.getId()+ " "+u.getName()+ " "+u.getMail()+ " "+u.getAge()+ " "+u.getCity());
}
}

/*
* 现有一文本字符串对象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框架实现
*/
private static ArrayList parseStr(String str) {

String[] array = str.split( ", ");
ArrayList list = new ArrayList();
for (int i = 5; i < array.length; i++) {
if (i % 5 == 0) {
UserInfo us = new UserInfo();
us.setId(Integer.parseInt(array[i]));
us.setName(array[i + 1]);
us.setMail(array[i + 2]);
us.setAge(Integer.parseInt(array[i + 3]));
us.setCity(array[i + 4]);
list.add(us);
}
}

return list;
}
}

[解决办法]
楼主说的是从文本文件里面读出来再进行操作,不是写死的值


代码太多,不想写啊

关键看怎么去读值了[重点]

可以横着读,也可以竖着读,也也可以斜斜读(狂笑)

读到值以后,建议进行包装成对象,放到ArrayList里再进行处理

对于数据的检索等操作就简单了,遍历循环,判断取出符合条件的数据进行处理


至于用框架,那就看你对代码的理解程度了

数据的读取放在持久层,可以写成静态方法

对数据的遍历检索等操作放在业务逻辑层

页面作为数据的展示


完了~就这些..

热点排行