Java练习之宠物管理系统

该宠物管理具有功能:

  1. 保存大量宠物信息
  2. 查看所有的宠物
  3. 通过名字查看某个宠物
  4. 输入宠物信息,录入系统中
  5. 修改系统中的宠物信息
  6. 删除宠物的信息
  7. 按年龄或价格进行排序

代码如下:

Pet类

public class Pet {private String name;private String gender;private String type;private int age;private int price;private int weight;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public String getType() {return type;}public void setType(String type) {this.type = type;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}public int getWeight() {return weight;}public void setWeight(int weight) {this.weight = weight;}public Pet() {}public Pet(String name, String gender, String type, int age, int price, int weight) {this.name = name;this.gender = gender;this.type = type;this.age = age;this.price = price;this.weight = weight;}public void play(){System.out.printf("宠物:%s\t\t性别:%s\t\t类型:%s\t\t年龄:%d\t\t价格:%d\t\t重量:%d\n",this.name,this.gender,this.type,this.age,this.price,this.weight);}
}

PetManage接口类:

import java.util.ArrayList;public interface PetManage {/*** 显示所有宠物的信息*/void showAllPets(ArrayList<Pet> pets);/*** 按宠物的名字查找宠物* @param name* @param pets*/void findPetByName(String name, ArrayList<Pet> pets);/*** 输入宠物信息* @return*/Pet inputPetInfo();/*** 添加宠物* @param pet* @param pets*/void addPet(Pet pet, ArrayList<Pet> pets);/*** 按名字修改宠物* @param name* @param pets*/void updatePetByName(String name,ArrayList<Pet> pets);/*** 删除宠物* @param name* @param pets*/void removePetByName(String name,ArrayList<Pet> pets);/*** 按年龄排序* @param pets*/void sortByAge(ArrayList<Pet> pets);/*** 按价格排序* @param pets*/void sortByPrice(ArrayList<Pet> pets);}

PetShop类:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;public class PetShop implements PetManage{@Overridepublic void showAllPets(ArrayList<Pet> pets) {for(Pet pet:pets){pet.play();}}@Overridepublic void findPetByName(String name, ArrayList<Pet> pets) {boolean flag = false;for(Pet pe : pets){if(pe.getName().equals(name)){pe.play();flag = true;break;}}if(!flag)System.out.println("This pet is not exist");}@Overridepublic Pet inputPetInfo() {Scanner scanner = new Scanner(System.in);System.out.println("输入宠物的名字");String name = scanner.next();System.out.println("输入宠物的性别");String gender = scanner.next();System.out.println("输入宠物的类型");String type = scanner.next();System.out.println("输入宠物的年龄");int age = scanner.nextInt();System.out.println("输入宠物的价格");int price = scanner.nextInt();System.out.println("输入宠物的重量");int weight = scanner.nextInt();return new Pet(name,gender,type,age,price,weight);}@Overridepublic void addPet(Pet pet, ArrayList<Pet> pets) {pets.add(pet);}@Overridepublic void updatePetByName(String name, ArrayList<Pet> pets) {for(Pet p : pets){if(p.getName().equals(name)){pets.remove(p);Pet pet2=inputPetInfo();pets.add(pet2);break;}}}@Overridepublic void removePetByName(String name,ArrayList<Pet> pets) {boolean flag = false;for(Pet pet : pets){if(pet.getName().equals(name)){pets.remove(pet);flag = true;break;}}if(!flag)System.out.println("This pet is not exist");}@Overridepublic void sortByAge(ArrayList<Pet> pets) {Collections.sort(pets,(o1,o2)-> o1.getAge() - o2.getAge());}@Overridepublic void sortByPrice(ArrayList<Pet> pets) {Collections.sort(pets,(o1,o2)->o1.getPrice()-o2.getPrice());}
}

PetShopApp类:

import java.util.ArrayList;
import java.util.Scanner;public class PetShopApp {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);PetShop petshop = new PetShop();ArrayList<Pet> pets = new ArrayList<>();pets.add(new Pet("white","M","dog",1,2000,2));pets.add(new Pet("black","M","dog",2,3000,3));pets.add(new Pet("blue","M","cat",1,1600,4));pets.add(new Pet("flower","F","cat",3,5000,3));pets.add(new Pet("red","F","cat",1,4600,1));for(;;){System.out.println("--------------------欢迎使用宠物管理系统--------------------");System.out.println("请选择执行的操作: 1.查看所有宠物 2.添加宠物 3.修改宠物 4.查找宠物 " +"5.删除宠物 6.按年龄排序 7.按价格排序 其他:退出");int op = scanner.nextInt();switch(op){case 1:petshop.showAllPets(pets);break;case 2:Pet pet = petshop.inputPetInfo();petshop.addPet(pet, pets);break;case 3:System.out.println("请输入要修改的宠物名");String petName = scanner.next();petshop.updatePetByName(petName,pets);break;case 4:System.out.println("请输入要查找的宠物名");String searchName = scanner.next();petshop.findPetByName(searchName, pets);break;case 5:System.out.println("请输入要删除的宠物名");String deleteName = scanner.next();petshop.removePetByName(deleteName,pets);break;case 6:petshop.sortByAge(pets);petshop.showAllPets(pets);break;case 7:petshop.sortByPrice(pets);petshop.showAllPets(pets);break;default: return;}}}}

运行展示:

添加宠物:

修改宠物:

查找宠物:

删除宠物:

按年龄排序:

按价格排序:

Java宠物管理系统(运用接口简易版)相关推荐

  1. 用Java写一个植物大战僵尸简易版!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://urlify.cn/byeEj ...

  2. 用 Java 写一个植物大战僵尸简易版!

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:2 个月的面试亲身经历告诉大家,如何进入大厂? 有谁没玩过植物大战僵尸吗?一位读者用Java语言开发了自己的植物 ...

  3. 用 Java 写一个植物大战僵尸简易版

    转自:公众号:程序员小灰     作者:林Lychee 前言 有谁没玩过植物大战僵尸吗? 有一位读者,用Java语言开发了自己的植物大战僵尸游戏.虽然系统相对简单,但是麻雀虽小五脏俱全,对游戏开发感兴 ...

  4. Java小游戏——五子棋(简易版)

    自学了一个简易版的五子棋,棋子是用Graphics中的fillOval画出来的,棋盘是重写JFrame中paint方法画的. 思路分析: 1.棋盘类 创建一个棋盘类,继承JFrame,实现一个接口Co ...

  5. python实现简易版成绩管理系统_Python 实现简易版成绩管理系统!

    上一次,公众号介绍了如何使用 Python 实现单链表,下面让我们一探单链表的简单应用:在命令行,实现简易版成绩管理系统. 这次的简易版成绩管理系统,主要有六大功能:增加学生信息.删除学生信息.修改学 ...

  6. python简易版成绩管理系统_Python 实现简易版成绩管理系统

    上一次,公众号介绍了如何使用 Python 实现单链表,下面让我们一探单链表的简单应用:在命令行,实现简易版成绩管理系统. 这次的简易版成绩管理系统,主要有六大功能:增加学生信息.删除学生信息.修改学 ...

  7. 运动会成绩管理系统python_Python 实现简易版成绩管理系统

    这次的简易版成绩管理系统,主要有六大功能:增加学生信息.删除学生信息.修改学生信息.查找学生信息.显示学生信息.按 ID 排序. 实现效果如下: 实现效果 保存与读取信息 首先判断当前路径下,是否存在 ...

  8. JAVA宠物管理系统,对面向对象继续梳理(附文档下载地址)

    文档下载地址 https://download.csdn.net/download/CXY_fengye/85473753https://download.csdn.net/download/CXY_ ...

  9. 学生管理系统(SSM简易版)总结

    2019独角兽企业重金招聘Python工程师标准>>> 技术准备 为了完成这个项目,需要掌握如下技术: Java 基础知识 前端: HTML, CSS, JAVASCRIPT, JQ ...

  10. java植物大战僵尸游戏下载安装_用 Java 写一个植物大战僵尸简易版

    植物父类.子弹父类就同理可得了. 上面说到子类共有的方法需要抽到父类中,那么部分子类共有的方法该如何处理呢?比如,豌豆射手.寒冰射手可以发射子弹,坚果墙就没有射击的这个行为.所以这里就需要用到接口(I ...

最新文章

  1. Git 2.20的重大更新:侧重可用性和性能
  2. POJ 2356 Find a multiple (抽屉原理)
  3. mysql oracle 默认事务级别_oracle 默认的事务隔离级别
  4. Spring4整合Hibernate4出现的错误的解决
  5. 用python玩转数据第四周答案_用Python玩转数据_章节答案
  6. 第40课 儿歌《打老虎》-2021.08.10 《小学生C++趣味编程》
  7. ICCV 2021 oral 重构+预测,双管齐下提升视频异常检测性能
  8. python26章_笨方法学Python-26章练习题
  9. 拓端tecdat|R语言使用ARIMAX预测失业率经济时间序列数据
  10. input只能输入数字和小数点_Python 3 学习笔记:数字和布尔
  11. 多云环境无处不在,但其管理才刚开始
  12. 通达OA2019版本全功能
  13. ps怎么加底部阴影_ps影子(ps物体底部阴影怎么做)
  14. 园丁的乐趣 惬意的游戏,种花游戏 【安卓软件】
  15. Python.translate(table).maketrans(‘str1‘,‘str2‘)字符串翻译
  16. 图片裁切以及图片预览的过程
  17. atom tasklist could not be spawned的解决办法
  18. Android视频流解码
  19. java程序实现删除本地文件
  20. C++学习——基于binance的AS做市模型

热门文章

  1. phpwind升级php7,phpwind v8.7 升级教程图文说明
  2. 职称计算机考试f11,2016全国职称计算机考试PowerPoint单选试题3
  3. sqlplus基本使用
  4. android9 添加开机音乐
  5. 左右手桌面股票盯盘软件(DesktopStockTracking)
  6. python 获取英文人名翻译
  7. Word技巧:快速将不同字数的姓名对齐
  8. 架构师必看-架构之美第15章伸缩性架构设计
  9. 翻译:Towards Lingua Franca Named Entity Recognition with BERT(基于BERT的通用语命名实体识别)
  10. 黑客是怎样买彩票的?中奖率提示2倍