Java面试题 面向对象

面向对象

• 需求1:编写动物类Animal • 属性:昵称、品种、颜色、年龄 • 方法: 吃 eat()、显示 show()
• 需求2:封装属性,添加带参构造方法 • 年龄1-10岁
• 需求3:编写动物管理类 • 属性:保存动物的数组、个数 • 方法:添加动物、查询动物、遍历动物
动物类

package QFTest;

/**
 * 2020/7/24
 * 17:20
 */
public class Animal {
    //昵称
    private String nickName;
    //品种
    private String breed;
    //颜色
    private String color;
    //年龄
    private int age;
    //判断是否有误
    private boolean anwser;

    public boolean isAnwser() {
        return anwser;
    }

    //无参构造方法
    public Animal() {
    }
    //构造方法
    public Animal(String nickName, String breed, String color, int age) {
        this.nickName = nickName;
        this.breed = breed;
        this.color = color;
        this.setAge(age);
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getBreed() {
        return breed;
    }

    public void setBreed(String breed) {
        this.breed = breed;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if(age>0&&age<11){
            this.age = age;
            this.anwser=true;
        }else{
            System.out.println(this.breed+"年龄过高,我们不想要");
            this.anwser=false;
        }
    }
    //吃方法
    public void eat(){
        System.out.println(this.nickName+"正在吃轩轩");
    }
    //显示方法
    public void show(){
        System.out.println(this.nickName+" "+this.breed+" "+color+" "+age);
    }
}

动物管理员

package QFTest;

/**
 * 2020/7/24
 * 17:30
 */
public class AnimalManager {
    //动物的数组
     Animal[] animals=new Animal[50];
     //动物的个数
     private int size=0;

    public void setSize(int size) {
        this.size = size;
    }

    public int getSize() {
        return size;
    }

    //添加动物
     public void addAnimal(Animal animal){
         animals[size]=animal;
         size++;
     }
     //查询动物
     public void query(String name){
         for (int i = 0; i <size ; i++) {
             if(animals[i].getNickName().equals(name)){
                animals[i].show();
                return;
             }
         }
         System.out.println("动物园里没有这个名字的动物。");
     }
     //遍历动物
    public void allShow(){
        for (int i = 0; i <size ; i++) {
            animals[i].show();
        }
    }

}

测试

package QFTest;

import java.util.Scanner;

/**
 * 2020/7/24
 * 17:55
 */
public class TestManager {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        //声明动物园管理员
        AnimalManager manager = new AnimalManager();
        System.out.println("==================欢迎来到动物园===================");
        label:do {

            System.out.println("==========1.添加动物 2.查询动物 3.遍历动物 0.离开动物园==============");
            //得到控制台的数据
            int num = input.nextInt();
            //选择功能
            switch (num) {
                case 1:
                    addMessage(manager);
                    break;
                case 2:
                    //判断动物园有没有动物
                    if (manager.getSize()!=0) {
                        System.out.println("请输入动物的名字:");
                        String name = input.next();
                        manager.query(name);
                    } else {
                        System.out.println("该动物园还没有动物");
                    }
                    break;
                case 3:
                    //判断动物园有没有动物
                    if (manager.getSize()!=0) {
                        manager.allShow();
                    }else{
                        System.out.println("动物园里还没有动物");
                    }
                    break;
                case 0:
                    break label;
                default:
            }
        }while(true);
    }
    //定义一个添加动物的方法
    public static void addMessage(AnimalManager manager){
        Scanner input=new Scanner(System.in);
        //得到控制台的数据
        System.out.println("请输入昵称:");
        String name=input.next();
        System.out.println("请输入品种:");
        String breed=input.next();
        System.out.println("请输入颜色:");
        String color=input.next();
        System.out.println("请输入年龄");
        int age=input.nextInt();
        //声明一个动物
        Animal animal=new Animal(name,breed,color,age);
        if(animal.isAnwser()){
            manager.addAnimal(animal);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/m0_45196258/article/details/107568104