300.29 学生成绩管理系统

来源:互联网 发布:asap2020软件 64bit 编辑:程序博客网 时间:2024/06/11 00:23


NewFile.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?><exam><student examid="1111" idcard="111"><name>张三</name><location>天津</location><grade>99</grade></student><student examid="2222" idcard="222"><name>李四</name><location>山西</location><grade>100</grade></student></exam>

Student.java

package cn.itcast.domain;public class Student {private String idcard;private String examid;private String name;private String location;private String grade;public String getIdcard() {return idcard;}public void setIdcard(String idcard) {this.idcard = idcard;}public String getExamid() {return examid;}public void setExamid(String examid) {this.examid = examid;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getLocation() {return location;}public void setLocation(String location) {this.location = location;}public String getGrade() {return grade;}public void setGrade(String grade) {this.grade = grade;}}




XmLUtils.java

package cn.itcast.utils;import java.io.FileOutputStream;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerConfigurationException;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.w3c.dom.Document;public class XmlUtils {public static String filename = "SRC/NewFile.xml";public static Document getDocument()throws Exception {DocumentBuilder build =  DocumentBuilderFactory.newInstance().newDocumentBuilder();return build.parse(filename);}public static void write2Xml(Document document) throws Exception {Transformer tf = TransformerFactory.newInstance().newTransformer();tf.transform(new DOMSource(document), new StreamResult(new FileOutputStream(filename)));}}

StudentDao.java

package cn.itcast.dao;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NodeList;import cn.itcast.domain.*;import cn.itcast.utils.*;public class StudentDao {public static void add(Student s) throws Exception {Document document = XmlUtils.getDocument();//创建出封装学生信息的标签Element student = document.createElement("student");student.setAttribute("idcard",s.getIdcard());student.setAttribute("examid",s.getExamid());Element name = document.createElement("name");Element location = document.createElement("location");Element grade = document.createElement("grade");name.setTextContent(s.getName());location.setTextContent(s.getLocation());grade.setTextContent(s.getGrade()+" ");//任意对象和字符串相加是字符串student.appendChild(name);student.appendChild(location);student.appendChild(grade);//挂到文档document.getElementsByTagName("exam").item(0).appendChild(student);//更新内存XmlUtils.write2Xml(document);}public static Student find(String examid) throws Exception {Document document = XmlUtils.getDocument();NodeList list = document.getElementsByTagName("student");Student s = new Student();for(int i = 0;i <list.getLength();i++) {Element student = (Element)list.item(i); if(student.getAttribute("examid").equals(examid)) {s.setExamid(examid);s.setIdcard(student.getAttribute("dicard"));s.setName(student.getElementsByTagName("name").item(0).getTextContent());s.setLocation(student.getElementsByTagName("location").item(0).getTextContent());s.setGrade(student.getElementsByTagName("grade").item(0).getTextContent());}}return s;}public static void delete(String name) throws Exception {Document document = XmlUtils.getDocument();NodeList list = document.getElementsByTagName("name");for(int i = 0;i < list.getLength();i++) {if(list.item(i).getTextContent().equals(name)) {list.item(i).getParentNode().getParentNode().removeChild(list.item(i).getParentNode());XmlUtils.write2Xml(document);System.out.println("删除成功!");return;}}System.out.println("您所要删除的用户"+name+"不存在");}}


Main.java

package cn.itcast.UI;import cn.itcast.dao.*;import java.util.Scanner;import cn.itcast.domain.*;public class main {public static void main(String[] args) throws Exception {System.out.println("添加用户:(a)   删除用户:(b)   查询成绩:(c)");System.out.print("请输入操作类型");Scanner sc = new Scanner(System.in);char c = sc.nextLine().charAt(0);switch(c) {case 'a':Student student = new Student();System.out.println("请输入要添加学生的考号:");Scanner sc1 = new Scanner(System.in);String num = sc1.nextLine();student.setExamid(num);System.out.println("请输入要添加学生的身份证号:");Scanner sc2 = new Scanner(System.in);String ID = sc2.nextLine();student.setIdcard(ID);System.out.println("请输入要添加学生的姓名:");Scanner sc3 = new Scanner(System.in);String name = sc3.nextLine();student.setName(name);System.out.println("请输入要添加学生的所在地:");Scanner sc4 = new Scanner(System.in);String location = sc4.nextLine();student.setLocation(location);System.out.println("请输入要添加学生的成绩:");Scanner sc5 = new Scanner(System.in);String grade = sc5.nextLine();student.setGrade(grade);StudentDao.add(student);System.out.println("添加成功!");break;case 'b':System.out.println("请输入要删除学生的姓名:");Scanner sc6 = new Scanner(System.in);String name1 = sc6.nextLine();StudentDao.delete(name1);break;case 'c':System.out.println("请输入考号:");Scanner sc7 = new Scanner(System.in);String num1 = sc7.nextLine();Student s1 = StudentDao.find(num1);System.out.println("姓名:"+s1.getName());System.out.println("身份证号:"+s1.getExamid());System.out.println("所在地:"+s1.getLocation());System.out.println("成绩:"+s1.getGrade());break;}}}


原创粉丝点击