面向对象
• 需求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);
}
}
}