📜  我的动物清单 - Java (1)

📅  最后修改于: 2023-12-03 14:54:25.299000             🧑  作者: Mango

我的动物清单 - Java

欢迎来到我的动物清单!这是一个使用 Java 编写的程序,可以帮助你管理你的动物清单。

功能介绍
  1. 添加动物:可以添加新的动物,包括名称、种类、年龄、性别等基本信息。

    Animal animal = new Animal("小狗", "犬科", 2, "公");
    animalList.add(animal);
    
  2. 删除动物:可以删除已有的动物,根据动物的名称或者ID进行删除。

    animalList.removeIf(animal -> animal.getId() == 1);
    
  3. 修改动物:可以修改已有的动物的基本信息,包括名称、种类、年龄、性别等。

    Animal animal = animalList.get(0);
    animal.setAge(3);
    
  4. 查找动物:可以通过名称、ID、种类等信息进行查询,返回对应的动物信息。

    for (Animal animal : animalList) {
        if (animal.getName().equals("小狗")) {
            System.out.println(animal);
        }
    }
    
  5. 展示动物列表:可以展示当前已有的动物列表。

    for (Animal animal : animalList) {
        System.out.println(animal);
    }
    
技术实现
实体类:Animal

动物的基本信息存储在 Animal 类中。

public class Animal {
    private int id;
    private String name;
    private String species;
    private int age;
    private String gender;
    // 省略getter和setter方法以及构造方法
}
数据库操作:AnimalDao

动物数据存储在数据库中,AnimalDao 类实现了对数据库的增删改查操作。

public class AnimalDao {
    private Connection conn;
    // 省略其他属性和方法

    public void addAnimal(Animal animal) {
        // 插入动物到数据库中
    }

    public void deleteAnimal(int id) {
        // 从数据库中删除指定ID的动物
    }

    public void updateAnimal(Animal animal) {
        // 更新指定动物在数据库中的信息
    }

    public Animal findAnimalById(int id) {
        // 从数据库中查找指定ID的动物
    }

    // 省略其他的查询方法
}
业务逻辑:AnimalService

AnimalService 类包含了与动物相关的业务逻辑,如增加、修改和删除动物等。

public class AnimalService {
    private AnimalDao animalDao;
    // 省略其他属性和方法

    public void addAnimal(String name, String species, int age, String gender) {
        Animal animal = new Animal(name, species, age, gender);
        animalDao.addAnimal(animal);
    }

    public void deleteAnimalById(int id) {
        animalDao.deleteAnimal(id);
    }

    public void updateAnimal(int id, String name, String species, int age, String gender) {
        Animal animal = animalDao.findAnimalById(id);
        animal.setName(name);
        animal.setSpecies(species);
        animal.setAge(age);
        animal.setGender(gender);
        animalDao.updateAnimal(animal);
    }

    public Animal findAnimalById(int id) {
        return animalDao.findAnimalById(id);
    }

    // 省略其他的查询方法
}
用户界面:AnimalUI

AnimalUI 类实现了与用户交互的界面,通过控制台展示动物清单,并提供添加、删除、修改和查询操作。

public class AnimalUI {
    private AnimalService animalService;
    // 省略其他属性和方法

    public void displayAnimalList() {
        List<Animal> animalList = animalService.findAllAnimals();
        System.out.println("当前动物清单:");
        System.out.println("ID\t名称\t种类\t年龄\t性别");
        for (Animal animal : animalList) {
            System.out.println(animal.getId() + "\t" + animal.getName() + "\t" + animal.getSpecies()
                    + "\t" + animal.getAge() + "\t" + animal.getGender());
        }
    }

    public void addAnimal() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入动物的名称:");
        String name = scanner.nextLine();
        System.out.println("请输入动物的种类:");
        String species = scanner.nextLine();
        System.out.println("请输入动物的年龄:");
        int age = Integer.parseInt(scanner.nextLine());
        System.out.println("请输入动物的性别:");
        String gender = scanner.nextLine();
        animalService.addAnimal(name, species, age, gender);
        System.out.println("添加动物成功!");
    }

    public void deleteAnimal() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要删除的动物的ID:");
        int id = Integer.parseInt(scanner.nextLine());
        animalService.deleteAnimalById(id);
        System.out.println("删除动物成功!");
    }

    public void updateAnimal() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要修改的动物的ID:");
        int id = Integer.parseInt(scanner.nextLine());
        Animal animal = animalService.findAnimalById(id);
        System.out.println("当前动物信息为:" + animal);
        System.out.println("请输入新的动物名称:");
        String name = scanner.nextLine();
        System.out.println("请输入新的动物种类:");
        String species = scanner.nextLine();
        System.out.println("请输入新的动物年龄:");
        int age = Integer.parseInt(scanner.nextLine());
        System.out.println("请输入新的动物性别:");
        String gender = scanner.nextLine();
        animalService.updateAnimal(id, name, species, age, gender);
        System.out.println("修改动物成功!");
    }

    public void findAnimalById() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要查找的动物的ID:");
        int id = Integer.parseInt(scanner.nextLine());
        Animal animal = animalService.findAnimalById(id);
        System.out.println(animal);
    }

    // 省略其他的查询方法
}
总结

通过实现 Animal 类、AnimalDao 类、AnimalService 类和 AnimalUI 类,我们可以构建一个简单而实用的动物清单程序。期望能够帮助有需要的程序员们。