/*
* 键盘录入3个学生信息(学号,姓名,年龄,居住地)存入集合。然后遍历集合把每一个学生信息存入文本文件(每一个学生信息为一行数据,自己定义分割标记)
*
* 分析:
* A:定义学生类
* B:创建集合对象
* C:写方法实现键盘录入学生信息,并把学生对象作为元素添加到集合
* D:创建输出缓冲流对象
* E:遍历集合,得到每一个学生信息,并把学生信息按照一定的格式写入文本文件
* 举例:heima001,向问天,30,北京
* F:释放资源
*/
思路
学生类: Student.class
定义四个私有变量 快捷键生成 无参有参构造方法 setter getter
测试类: Test.class
创建Scanner对象;定义String变量fileName="文件路径";
菜单
循环打印菜单提醒输入字符串,switch接收,"1"~"5":添加 删除 修改 展示 退出 5个方法;结束循环被标记的while循环
读取数据方法: readData()
形参是fileName,返回值是集合,目的是将txt里面的内容,分割,导入new对象,对象导入new集合并返回
读取数据方法: writeData()
形参是fileName,list,无返回值,目的是集合的元素的成员变量,按某种格式,用BufferedWriter导入txt文件
返回索引值方法:getIndex()
形参是list,sid,返回值是int,目的是判断学号sid是否存在于list中所有学生对象的学号,存在就返回存在学生对象的索引,不存在就返回-1;
增加,删除,修改方法:addStudent() deleteStudent() updateStudent()
形参是fileName,对txt文件操作,不可避免的需要,导入数据readData()得到集合,判断学号getIndex(),最后writeDate()
在writeDate()前面的方法体,都是对集合进行操作,
增加方法:索引存在,不会进行执行下一步,不同则继续对象属性的收集,最终生成一个对象,add到集合list里面
删除方法:索引不存在,不会进行执行下一步,相同则继续对象属性的收集,最终生成一个对象,remove集合list里面对应的对象
修改方法:索引不存在,不会进行执行下一步,相同则继续新对象属性的收集,最终生成一个对象,set集合list里面对应的对象<