日期:2014-05-20  浏览次数:20551 次

没有思路啊 大神们 指点下啊【java】
自己查API实现
   传过来的参数是"name=zhangsan;num=3;score=123"
   练习把里面所有的东西分离出来,然后封装成一个student的实例.(这里面用到的数字类型先用String类型替换,封装类尚未讲到

------解决方案--------------------
先用split(';')把参数分成三部分
对每一部分再分成等号左右边两部分,左边就是key,右边就是value,然后用if key.equals("...")判断即可。
如果是Java7,用switch..case更直观
因为是作业,不给代码
------解决方案--------------------
如果name、num、cure是student类的属性,可以考虑用反射实现。(分离操作,就按lcf讲的做。)
------解决方案--------------------
String数组一=你的字符串.split(";")

对数组一循环,每一个再进行split("=")

然后得到的数组就是类似于[name,zhangsan]

Student s = new Student();
s.name=zhangsan
s.num=.......
------解决方案--------------------
试试list<map<K,V>>看看行么?把传过来的值放到一个list<map<>>中,然后通过这个对象去获取list中map的key对应的value值,定义一个student类,写好里面的属性,然后用每个key对应的value值去给他们赋值;
------解决方案--------------------
package csdn;

public class Student {
private String name;
private String num;
private String score;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getScore() {
return score;
}
public void setScore(String score) {
this.score = score;
}

public static void main(String[] args) {
String str = "name=zhangsan;num=3;score=123";
String[] datas = str.split(";");
Student stu = new Student();
for(int i=0;i<datas.length;i++) {
String[] str4stu = datas[i].split("=");
if(str4stu[0]!=null&&str4stu[0].equals("name")) {
stu.setName(str4stu[1]);
}else if(str4stu[0]!=null&&str4stu[0].equals("num")) {
stu.setNum(str4stu[1]);