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

I/O题目
有一组学生信息存放在一个字符串中:
"zhangsan=75:list=88:wangwu=97"
定义一个学生类,包含姓名和成绩两个字段。从上述字符串中读取学生的相关信息,并赋值给3个学生对象,然后重写学生类的toString方法,并显示读写效果。
求解,有具体实现代码更好。

------解决方案--------------------
按照LZ说的,用不到IO。

学生类中的toStrin()

public String toString()
{
return this.getName() + ":" + this.getScore();
}

另外 就是将字符串按照":"进行分隔成数组,再赋值给学生对象。
------解决方案--------------------
楼主的意思是学生的字符串信息放到一个文本里去读取是吧?
第一步:建立一个输入流(以Java程序为中心,程序从硬盘,内存等处读数据叫做输入流,往内存,硬盘等地方输入数据叫做输出流)例如FileInputStream按字节来读取该文本的内容。
第二步:全部读出来存在一个byte[]数组里(因为这里用的是字节流,所以用字节数组存放。字符流也可以,具体的你自己百度一下I/O这章的内容)。
第三步:把数组的内容转换成字符串,用到String(byte[] buf,int off,int len)来构造字符串。
第四步:把字符串分割成字符串数组,用到split(":")方法,分成三个字符串"zhangsan=75","list=88","wangwu=97"。
第五步:再遍历字符串数组操作每一个字符串用indexOf()方法来得到=号后面的成绩内容,赋值给学生类对象。
toString方法可以参照2楼的。
以上是一个大概的流程和思路,具体代码你自己看看IO这章和字符串的常规操作就会了。