首页 > 分享 > 实例分析——宠物商店

实例分析——宠物商店

1. 设计要求

实现一个宠物商店,在宠物商店中可以有多种(由用户决定数量)宠物,试表示出此种关系,并要求可以根据宠物的关键字查找到相应的宠物信息。所需要的宠物信息自行设计。

2. 程序分析

1)本要求中提示宠物信息可以自行设计,所以这里简单设计出3个属性:名字、颜色、年龄。 

2)宠物的类别很多,如猫、狗等都属于宠物,所以宠物应该是一个标准。

3)在宠物商店中,只要是符合此宠物标准的都可以放进宠物商店中。

4)宠物商店中要保存多种宠物,则肯定应该是一个宠物的对象数组,宠物的个数由用户决定的话,则应该创建宠物商店的时候,就分配好可以保存的宠物个数。

3. 代码

1)展示

2)代码 Pet.java

interface Pet{

String getName();

String getColor();

int getAge();

}

Cat.java(具体实现宠物猫)

class Cat implements Pet{

private String name;

private String color;

private int age;

public Cat(String name,String color,int age){

this.setName(name);

this.setColor(color);

this.setAge(age);

}

public void setName(String name) {

this.name = name;

}

public void setColor(String color) {

this.color = color;

}

public void setAge(int age) {

this.age = age;

}

@Override

public String getName() {

return name;

}

@Override

public String getColor() {

return color;

}

@Override

public int getAge() {

return age;

}

}

Dog.java(与Cat.java类似)

class Dog implements Pet{

private String name;

private String color;

private int age;

public Dog(String name,String color,int age){

this.setName(name);

this.setColor(color);

this.setAge(age);

}

public void setName(String name) {

this.name = name;

}

public void setColor(String color) {

this.color = color;

}

public void setAge(int age) {

this.age = age;

}

@Override

public String getName() {

return name;

}

@Override

public String getColor() {

return color;

}

@Override

public int getAge() {

return age;

}

}

PetShop.java

模糊查找的思路:确定结果数组的大小--》开辟结果数组并存放结果。

此代码是实现了通过姓名、颜色、年龄进行模糊查找。

class PetShop{

private Pet[] pets;

private int foot=0;

public PetShop(int len){

if(len>0){

pets=new Pet[len];

}else{

pets=new Pet[1];

}

}

public boolean add(Pet pet){

if(foot<this.pets.length){

this.pets[foot]=pet;

foot++;

return true;

}else{

return false;

}

}

public Pet[] search(String keyword){

Pet[] p=null;

int count=0;

for(int i=0;i<this.foot;i++){

if(this.pets[i].getName().indexOf(keyword)!=-1||this.pets[i].getColor().indexOf(keyword)!=-1||

Integer.toString(this.pets[i].getAge()).equals(keyword)==true)

count++;

}

p=new Pet[count];

int f=0;

for(int i=0;i<this.foot;i++){

if(this.pets[i].getName().indexOf(keyword)!=-1||this.pets[i].getColor().indexOf(keyword)!=-1||

Integer.toString(this.pets[i].getAge()).equals(keyword)==true){

p[f]=this.pets[i];

f++;

}

}

return p;

}

}

Main.java(进行验证)

public class Main {

public static void main(String[] args) {

PetShop ps=new PetShop(5);

ps.add(new Cat("白猫","白色",5));

ps.add(new Cat("红猫","红色",2));

ps.add(new Dog("拉布拉多","黄色",1));

ps.add(new Cat("萨摩耶犬","白色",2));

ps.add(new Cat("土狗","棕色",3));

print(ps.search("白"));

}

public static void print(Pet[] p){

for(int i=0;i< p.length;i++){

System.out.println(p[i].getName()+" "+p[i].getColor()+" "+p[i].getAge());

}

}

}

3) 运行结果

将符合要求的全部输出,要注意一点的是在用年龄进行模糊处理的时候,要像这样:

keyword关键字必须是String类型。

相关知识

java实例分析宠物商店
实例分析:宠物商店
宠物商店 案例分析
实例分析——宠物商店
(Java)实例分析
实例分析
mysql 项目案例宠物商店
解析宠物商店pet
MySQL 宠物商店案例
java宠物作业 java实训项目宠物商店

网址: 实例分析——宠物商店 https://m.mcbbbk.com/newsview808523.html

所属分类:萌宠日常
上一篇: 使用Qt开发的电子宠物商店管理系
下一篇: mysql宠物商店代码