
</ul> * @param name 姓名 * @param score 更新的成绩 */ public boolean modify(String name, int score){ try { /* * 先读入所有学生成绩信息, * 把满足条件的记录更新为新成绩后, 暂存到 内存中 * 其他记录直接存储 */ BufferedReader in = new BufferedReader(new FileReader(fileName)); String line = null, data = ""; boolean flag = false; while((line = in.readLine())!=null){ String[] info = line.split(":"); if(info[0].equals(name)){ line = info[0] + ":" + score; flag = true; }data += line + "\r\n"; } in.close();/* * 重新写文件 */ Writer out = new FileWriter(fileName); out.write(data); out.close();return flag; } catch (IOException e) { e.printStackTrace(); }return false; }/** * 删除指定姓名同学的所有成绩 * @param name 姓名 */ public boolean delete(String name){try { /* * 读入所有学生成绩信息 ,* 只将已满足条件的记录暂存到存储中 */ BufferedReader in = new BufferedReader(new FileReader(fileName)); String line = null, data = ""; boolean flag = false; while((line = in.readLine())!=null){ String[] info = line.split(":"); if(!info[0].equals(name)){ // 的记录 data += line + "\r\n"; }else{ flag = true; } } in.close(); 只存储不满足条件/* * 重新写文件 */Writer out = new FileWriter(fileName); out.write(data); out.close();return flag; } catch (IOException e) { e.printStackTrace(); } return false; }/** * 删除指定姓名同学的指定成绩的一次成绩 * @param name 姓名 * @param score 成绩 */ public boolean delete(String name, int score){ try { /* * 读入所有学生成绩信息, * 当找到满足条件的记录时,第一次忽略。

* 其他次或已满足条件的记录, 暂存到存储中。 */BufferedReader in = new BufferedReader(new FileReader(fileName)); String line = null, data = ""; boolean flag = false; while((line = in.readLine())!=null){ String[] info = line.split(":");if(info[0].equals(name)&&info[1].equals(String.valueOf(score))&& !flag){ // 件的记录时跳过不读取文件:只删除一条记录 第一次找到满足条flag = true; continue; } data += line + "\r\n"; } in.close();/* * 重新写文件 */ Writer out = new FileWriter(fileName); out.write(data); out.close();return flag; } catch (IOException e) { e.printStackTrace(); } return false; }/** * 入口方法 * @param args */ public static void main(String[] args){ new studentmanager(); } }六、 调试与运行状况1、 输入学生成绩(图①-操作;图②-结果):2、 查询学生成绩(图①-操作;图②-查询成功时结果;图③-是否再次 查询;图④-完成时提示):3、 修改学生成绩(图①-操作;图②、③-输入错误;图④-确认修改;图 ⑤-修改成功;图⑥-修改失败):4、 删除指定姓名的学生所有成绩(图①-操作;图②-确认删除;图③删除成功;图④-删除失败):5、 删除指定姓名跟成绩的学员单次成绩(图①-操作;图②-确认;图③删除成功;图④-失败):七、 存在疑问1、 修改选定姓名成绩就设置了该姓名学生的所有成绩,实际上需要再一 个文本框输入新成绩,才能更改单次成绩。

2、 数据未经加密,安全性低。 3、 文件指定存储到了 data.txt,实际可以做一个输入对话框来输入文件 名未选定数据文件,或直接使用打开文件对话框打开数据文件;同理成绩管理系统设计,也 可以使用储存文件对话框将数据导入至指定文件。八、 实验总结1、理解并把握了图形界面的设计。 2、理解了整体算法的模式,即 actionPerformed()的算法。 3、进一步学习了 JAVA 的编程思想。 4、理解并把握了文件的操作。九 参考资料《Java2 实用教程》,《Java 编程思想》,《Java 编程核心科技》,《VFP 实用教程》
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-142986-2.html
新生代经济和新生代偶像的完美契合
拿回点面子
检查