宠物管理系统

2022-07-25,

宠物管理系统

简易宠物管理系统

  • 宠物类(父类)
package homeworke2.pet;

public class Animal {
    private String name;

    public Animal(String name) {
        this.name = name;
    }

    public Animal() {
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

  • 狗狗类(子类)
package homeworke2.pet;

public class Dog extends Animal {

}

  • 添加任意数量的子类同狗狗类
  • 测试类
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.junit.Test;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.List;
import java.util.Scanner;

public class Demo {
    @Test
    public void test2() throws Exception {
        Scanner sc=new Scanner(System.in);
        String annimals = getAnnimals();

        System.out.println("请问您是要领养宠物还是捐献宠物:1,领养  2,捐献");
        int a = sc.nextInt();
        if(a==1){
            System.out.println("请选择您要领养的宠物:"+annimals);
            String name = sc.next();
            System.out.println("请输入您要领养的宠物名字"+getname1(name));
            String name1 = sc.next();

            removeName(name,name1);
        }else {
            System.out.println("请输入您要捐献的宠物"+annimals+"或其他");
            String name = sc.next();
            if(annimals.contains(name)){
                System.out.println("请输入您要捐献的宠物的名字");
                String name1 = sc.next();
                addName1(name,name1);
            }else {
                System.out.println("请输入您要捐献的宠物的名字");
                String name2 = sc.next();
                addName2(name,name2);

            }
        }
}

    private String getname1(String typename) throws Exception {
        SAXReader reader = new SAXReader();
        // 解析xml文档,得到document对象
        Document document = reader.read("D:\\IdeaWork\\day22.java22\\src\\homeworke2\\pet\\pet.xml");
        // 根据document对象获取根节点
        Element root = document.getRootElement();
        Element element = root.element(typename);
        List <Element>list = element.elements();
        String names="";
        for (int i = 0; i < list.size(); i++) {

                names+=list.get(i).getText();
                if(i<list.size()-1)
                    names+=",";
        }
        return names;
    }

    //捐献的宠物不在animals中
    private void addName2(String name,String name1) throws Exception {
        SAXReader reader = new SAXReader();
        // 解析xml文档,得到document对象
        Document document = reader.read("D:\\IdeaWork\\day22.java22\\src\\homeworke2\\pet\\pet.xml");
        // 根据document对象获取根节点
        Element root = document.getRootElement();
        root.addElement(name).addElement("name").addText(name1);

        XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("D:\\IdeaWork\\day22.java22\\src\\homeworke2\\pet\\pet.xml"), OutputFormat.createPrettyPrint());
        xmlWriter.write(document);
        xmlWriter.flush();
        XMLWriter xmlWriter2 = new XMLWriter(System.out, OutputFormat.createPrettyPrint());
        xmlWriter2.write(document);
        xmlWriter2.flush();
    }
    //捐献的宠物在animals中
    private void addName1(String name,String name1) throws Exception {
        SAXReader reader = new SAXReader();
        // 解析xml文档,得到document对象
        Document document = reader.read("D:\\IdeaWork\\day22.java22\\src\\homeworke2\\pet\\pet.xml");
        // 根据document对象获取根节点
        Element root = document.getRootElement();
        Element element = root.element(name);
        element.addElement("name").addText(name1);

        XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("D:\\IdeaWork\\day22.java22\\src\\homeworke2\\pet\\pet.xml"), OutputFormat.createPrettyPrint());
        xmlWriter.write(document);
        xmlWriter.flush();
        XMLWriter xmlWriter2 = new XMLWriter(System.out, OutputFormat.createPrettyPrint());
        xmlWriter2.write(document);
        xmlWriter2.flush();

    }

    //领养宠物
    private void removeName(String name,String name1) throws Exception {
        SAXReader reader = new SAXReader();
        // 解析xml文档,得到document对象
        Document document = reader.read("D:\\IdeaWork\\day22.java22\\src\\homeworke2\\pet\\pet.xml");
        // 根据document对象获取根节点
        Element root = document.getRootElement();
        Element element = root.element(name);
        List <Element>list = element.elements();

        for (int i = 0; i <list.size() ; i++) {
            if(list.get(i).getText().contains(name1))
                element.remove(list.get(i));
        }

        if(element.elements().size()==0)
            root.remove(element);



        XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("D:\\IdeaWork\\day22.java22\\src\\homeworke2\\pet\\pet.xml"), OutputFormat.createPrettyPrint());
        xmlWriter.write(document);
        xmlWriter.flush();
        XMLWriter xmlWriter2 = new XMLWriter(System.out, OutputFormat.createPrettyPrint());
        xmlWriter2.write(document);
        xmlWriter2.flush();
    }
//获取宠物信息
    private String getAnnimals() throws Exception {
        SAXReader reader = new SAXReader();
        // 解析xml文档,得到document对象
        Document document = reader.read("D:\\IdeaWork\\day22.java22\\src\\homeworke2\\pet\\pet.xml");
        // 根据document对象获取根节点
        Element root = document.getRootElement();
        List<Element> animals = root.elements();
        String names="";
        for (int i = 0; i < animals.size(); i++) {
            names+=animals.get(i).getName();
            if(i<animals.size()-1)
                names+=",";
        }
        return names;
    }

该系统可以将路径中的xml文件进行增加删除查找等功能

本文地址:https://blog.csdn.net/weixin_53103836/article/details/111997666

《宠物管理系统.doc》

下载本文的Word格式文档,以方便收藏与打印。