• Java第七次作业


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

    (1)宠物信息可以自行设计,所以可以简单设计出名字、颜色、年龄3个属性;

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

    (3)在宠物商店中,只要是符合了次宠物标准的就都应该可以放进宠物商店之中。

    (4)宠物商店中要保存多种宠物,则肯定应该是一个宠物的对象数组,如果宠物的个数由用户决定,则应在创建宠物商店时,就分配好所能保存的宠物个数。

    interface Pet{
        public String getName();
        public String getColor();
        public int getAge();
    }
    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 String getName() {
            return this.name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getColor() {
            return this.color;
        }
        public void setColor(String color) {
            this.color = color;
        }
        public int getAge() {
            return this.age;
        }
        public void setAge(int age) {
            this.age = age;
        }
    }
    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 String getName() {
            return this.name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getColor() {
            return this.color;
        }
        public void setColor(String color) {
            this.color = color;
        }
        public int getAge() {
            return this.age;
        }
        public void setAge(int age) {
            this.age = age;
        }
    }
    class PetShop{
        private Pet[] pets;
        private int foot;
        public PetShop(int len){
            if(len>0){
                this.pets=new Pet[len];
            }else{
                this.pets=new Pet[1];
            }
        }
        public boolean add(Pet pet){
            if(this.foot<this.pets.length){
                this.pets[this.foot]=pet;
                this.foot++;
                return true;
            }else{
                return false;
            }
        }
        public Pet[] search(String keyWord){
            Pet p[]=null;
            int count=0;
            for(int i=0;i<this.pets.length;i++){
                if(this.pets[i]!=null){
                    if(this.pets[i].getName().indexOf(keyWord)!=-1||this.pets[i].getColor().indexOf(keyWord)!=-1){
                        count++;
                    }
                }
            }
            p=new Pet[count];
            int f=0;
            for(int i=0;i<this.pets.length;i++){
                if(this.pets[i]!=null){
                    if(this.pets[i].getName().indexOf(keyWord)!=-1||this.pets[i].getColor().indexOf(keyWord)!=-1){
                        p[f]=this.pets[i];
                        f++;
                    }
                }
            }
            return p;
        }
        
     }
    public class PetShopDemo {
        public static void main(String args[]){
            PetShop ps=new PetShop(5);
            ps.add(new Cat("白猫","白色的",2));
            ps.add(new Cat("黑猫","黑色的",3));
            ps.add(new Cat("花猫","花色的",3));
            ps.add(new Dog("拉布拉多","黄色的",3));
            ps.add(new Dog("金毛","金色的",3));
            ps.add(new Dog("黄狗","黑 色的",3));
            print(ps.search("黑"));
        }
        public static void print(Pet p[]){
            for(int i=0;i<p.length;i++){
                if(p[i]!=null){
                    System.out.println(p[i].getName()+","+p[i].getColor()+","+p[i].getAge());
                }
            }
        }
    }
  • 相关阅读:
    CodeForces 705A(训练水题)
    --hdu 2602 Bone Collector (01背包)
    --Dirring love 音乐(01背包问题)
    简单的网络拓扑
    --hdu 1231 最大连续子序列(动态规划)
    hdu 1003 Max Sum(动态规划)
    hdu 1284 钱币兑换问题(动态规划)
    hdu 1176 免费馅饼(动态规划)
    hdu 2084 数塔(动态规划)
    --hdu 2124 Repair the Wall(贪心)
  • 原文地址:https://www.cnblogs.com/lizi-shaoxiaoye/p/6730120.html
Copyright © 2020-2023  润新知