一个简单java学生管理项目_第1页
一个简单java学生管理项目_第2页
一个简单java学生管理项目_第3页
一个简单java学生管理项目_第4页
一个简单java学生管理项目_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一个简单 Java 学生管理项目 当我们学习了 java 基础之后应该试图做一些比较基础的项目来熟悉我们目前所了解的 各种语法,以及加深对其的应用。好了废话不多说开始我们的实践。 首先我们的明确下我们要做项目的具体细则,由于没有学习数据库,所以用配置文件 xml 来存储学生的信息。用 properties 来存储用户名和密码的键值对。由于我们目前写的 是针对教师端的系统,所以给予教师的权限是查询,增加,修改学生成绩,删除等功能。 后期针对学生端,以及其他管理员端提供更多的权限。 首先呢,我们先做一个登陆程序,登陆程序中我们要考虑的是“登陆,注册,退出” 三个操作。 根据面向对象的思维方式我们应该把登陆写到一个类中,首先这个类应该有三 种操作,及登陆,注册,退出。退出很好写,及可以写成关闭当前的 java 虚拟机。登陆读 取 properties 中的键值对,利用键的唯一性来匹配值的正确与否。注册就可以写成文件中 写入键值对。好了话不多说,代码贴上。 import java.io.FileReader; import java.io.FileWriter; import java.io.Reader; import java.io.Writer; import java.util.Properties; import java.util.Scanner; public class LogOperate static Scanner scanner = new Scanner(System.in); static StudOperate so = new StudOperate(); public LogOperate() void mainview() throws Exception System.out .println(“=Welcome to simple system=“); System.out.println(“ 1.登陆“); System.out.println(“ 2.注册“); System.out.println(“ 3.退出“); int key = scanner.nextInt(); switch (key) case 1: if (Tradmenthod() System.out.println(“Login successful!“); so.mainview(); else System.out.println(“password or user is wrong“); mainview(); break; case 2: Land(); break; case 3: System.exit(0); break; default: System.out.println(“wrong order“); mainview(); break; void Land() throws Exception System.out .println(“=Welecome to wz System=“); System.out.print(“please set your name:“); String name = scanner.next(); System.out.print(“please set your password“); String password = scanner.next(); Properties preader = new Properties(); Writer wr = new FileWriter(“src/cn/suda/Tperties“, true); preader.put(name, password); preader.store(wr, null); System.out.println(“注册成功请重新登录,按任意键返回主界面:“); scanner.next(); mainview(); boolean Tradmenthod() throws Exception System.out.print(“please enter the user name:“); String name = scanner.next(); System.out.print(“please enter the user password:“); String password = scanner.next(); / String getProperty(String key) 用指定的键在此属性列表中搜索属性 Properties preader = new Properties(); / void load(Reader reader) Reader rw = new FileReader(“src/cn/suda/Tperties“); preader.load(rw); / boolean containsKey(Object key) if (preader.containsKey(name) else return false; 做完了登陆的界面,我们就该开始写管理程序了,首先我们应该明确一个学生应该有 哪些属性。学生的属性:1.姓名 2.学号 3.考试号 4.年龄 5.成绩。管理程序要考虑的就是数 据的读取以及存贮。因为数据库暂时还没学习,所以利用 XML 来代替。好了现在贴下代码。 import java.io.File; import java.io.FileOutputStream; import java.util.List; import java.util.Scanner; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; public class StudOperate static Scanner scanner = new Scanner(System.in); public StudOperate() void mainview() throws Exception System.out .println(“=Welcome to simple system=“); System.out.println(“ 1.查询学生信息“); System.out.println(“ 2.添加学生信息“); System.out.println(“ 3.修改学生信息“); System.out.println(“ 4.删除学生信息“); System.out.println(“ 5.注销“); int key = scanner.nextInt(); switch (key) case 1: System.out.println(“请输入学生的 ID:“); String str = scanner.next(); searchstu(str); break; case 2: addstu(); break; case 3: editstu(); break; case 4: deletestu(); break; case 5: back(); break; default: System.out.println(“wrong order“); mainview(); break; void back() throws Exception new LogOperate().mainview(); void deletestu() throws Exception SAXReader reader = new SAXReader(); Document doc = reader.read(new File(“src/cn/suda/exam.xml“); String modepre = “/studentidcard=“; String modetail = “; System.out.print(“Please enter students idcard:“); String idcard = modepre + scanner.next() + modetail; Element stuEle = (Element) doc.selectSingleNode(idcard); / 2. 获取父元素,使用父元素删除指定子元素 stuEle.getParent().remove(stuEle); / 设置保存的格式化器 /* * 1. t,使用什么来完成缩进 2. true, 是否要添加换行 */ OutputFormat format = new OutputFormat(“t“, true); / 把文档中原有的空白干掉! format.setTrimText(true); / 保存 Document / 在创建 Writer 时,指定格式化器 XMLWriter writer = new XMLWriter(new FileOutputStream( “src/students_copy.xml“), format); writer.write(doc); System.out.println(“删除成功!“); deletestudex(); void deletestudex() throws Exception System.out.println(“1.继续修改“); System.out.println(“2.返回主界面“); int flag = scanner.nextInt(); switch (flag) case 1: deletestu(); break; case 2: mainview(); break; default: System.out.println(“wrong order“); deletestudex(); break; void editstu() throws Exception SAXReader reader = new SAXReader(); Document doc = reader.read(new File(“src/cn/suda/exam.xml“); / 1. 使用 XPath 找到符合条件的元素 / 查询 student 元素 String modepre = “/studentidcard=“; String modetail = “; System.out.print(“Please enter students idcard:“); String idcard = modepre + scanner.next() + modetail; Element stuEle = (Element) doc.selectSingleNode(idcard); System.out.println(“idcard:“ + stuEle.attributeValue(“idcard“) + “ score:“ + stuEle.elementText(“score“); System.out.print(“请输入修改的学生的成绩:“); String score = scanner.next(); stuEle.element(“score“).setText(score); / 设置保存的格式化器 /* * 1. t,使用什么来完成缩进 2. true, 是否要添加换行 */ OutputFormat format = new OutputFormat(“t“, true); / 把文档中原有的空白干掉! format.setTrimText(true); / 保存 Document / 在创建 Writer 时,指定格式化器 XMLWriter writer = new XMLWriter(new FileOutputStream( “src/cn/suda/exam.xml“), format); writer.write(doc); System.out.println(“修改成功!“); editstudex(); void editstudex() throws Exception System.out.println(“1.继续修改“); System.out.println(“2.返回主界面“); int flag = scanner.nextInt(); switch (flag) case 1: editstu(); break; case 2: mainview(); break; default: System.out.println(“wrong order“); editstudex(); break; void addstu() throws Exception / 得到 Document SAXReader reader = new SAXReader(); Document doc = reader.read(new File(“src/cn/suda/exam.xml“); / 1. 获取 root 元素 Element root = doc.getRootElement(); / 2. 给 root 元素添加一个名为 student 的子元素,并返回它。 /* * 三件事 * 创建一个名为 student 的元素 * 把这个元素添加到 root 中 * 返 回它 */ Element stuEle = root.addElement(“student“); / 给 stuEle 添加属性 System.out.print(“请输入学生的 ID:“); String idcard = scanner.next(); stuEle.addAttribute(“idcard“, idcard); System.out.print(“请输入学生的 examid:“); String examid = scanner.next(); stuEle.addAttribute(“examid“, examid); / Element nameEle = stuEle.addElement(“name“); / nameEle.setText(“wangWu“); / 给 stuEle 添加名为 name 的子元素,并为子元素设置文本内容为 wangWu System.out.print(“请输入学生的名字“); String name = scanner.next(); stuEle.addElement(“name“).setText(name); System.out.print(“请输入学生的年龄:“); String age = scanner.next(); stuEle.addElement(“age“).setText(age); System.out.print(“输入学生的性别:“); String sex = scanner.next(); stuEle.addElement(“sex“).setText(sex); / 设置保存的格式化器 /* * 1. t,使用什么来完成缩进 2. true, 是否要添加换行 */ OutputFormat format = new OutputFormat(“t“, true); / 把文档中原有的空白干掉! format.setTrimText(true); / 保存 Document / 在创建 Writer 时,指定格式化器 XMLWriter writer = new XMLWriter(new FileOutputStream( “src/cn/suda/exam.xml“), format); writer.write(doc); addstudex(); void addstudex() throws Exception System.out.println(“1.继续添加“); System.out.println(“2.返回主界面“); int flag = scanner.nextInt(); switch (flag) case 1: addstu(); break; case 2: mainview(); break; default: System.out.println(“wrong order“); addstudex(); break; void searchstu(String str) throws Exception SAXReader reader = new SAXReader(); Document doc = reader.read(new File(“src/cn/suda/exam.xml“); Element root = doc.getRootElement(); List stuEleList = root.elements(“student“); for (Element stuEle : stuEleList) String idcard = st

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论