实现一个宠物商店,在宠物商店中可以有多种(由用户决定数量)宠物,试表示出此种关系,并要求可以根据宠物的关键字查找到相应的宠物信息。所需要的宠物信息自行设计。
1)本要求中提示宠物信息可以自行设计,所以这里简单设计出3个属性:名字、颜色、年龄。
2)宠物的类别很多,如猫、狗等都属于宠物,所以宠物应该是一个标准。
3)在宠物商店中,只要是符合此宠物标准的都可以放进宠物商店中。
4)宠物商店中要保存多种宠物,则肯定应该是一个宠物的对象数组,宠物的个数由用户决定的话,则应该创建宠物商店的时候,就分配好可以保存的宠物个数。
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宠物商店代码 |