/**
*本程序用到四个类,一个Pet做为父类,一个Cat和一个Dog继承Pet类,最后一个商店类来进行测试
*/
//Pet类
public Pet(String name, char sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public Pet(){
}
public abstract void show();
public abstract void eat();
public abstract void howl();
}
//Cat类
public class Cat extends Pet{
private double love;
public Cat(String name, char sex, int age, double love) {
super(name, sex, age);
this.love = love;
}
public Cat(){
}
public double getLove() {
return love;
}
public void setLove(double love) {
this.love = love;
}
public void run(){
System.out.println(super.getName()+"can run");
}
public void actionCute(){
System.out.println(super.getName()+"can actionCute");
}
public void show(){
System.out.println(super.getName()+":"+super.getAge()+super.getSex()+love);
}
public void eat(){
System.out.println(super.getName()+"can eat");
}
public void howl(){
System.out.println(super.getName()+"can howl");
}
}
//Dog类
public class Dog extends Pet{
private String food;
public String getKind() {
return kind;
}
public void setKind(String kind) {
this.kind = kind;
}
private String kind;
public Dog(){
}
public Dog(String name, char sex, int age,String kind) {
super(name,sex,age);
this.kind = kind;
}
public void run(){
System.out.println(super.getName()+"can run");
}
public void dealer(){
System.out.println(super.getName()+"can dealer");
}
public void show(){
System.out.println(super.getName()+":"+super.getAge()+super.getSex()+kind);
}
public void eat(){
System.out.println(super.getName()+"eat:"+food);
}
public void howl(){
System.out.println(super.getName()+"can howl");
}
}
//PetShop类
import java.util.Scanner;
public class PetShop {
private int arrayTotal=0;
private int count=0;
private String name;
private Pet[] pets=new Pet[10];
private Dog dog;
private Cat cat;
private int num1;//num1是接收到的宠物类型
private String acceptkind;//接收狗的品种
private double acceptlove;//接收猫的亲密度
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Pet[] getPets() {
return pets;
}
public void setPets(Pet[] pets) {
this.pets = pets;
}
private boolean addPet(Pet pet){
return true;
}
public boolean purchasePet(Pet pet){
return true;
}
private void sellPet(int num1){
boolean flag=false;
for(;;){
if(!flag){
if(num1==1){
sellDog();
flag=true;
}else if(num1==2){
sellCat();
flag=true;
}else{
System.out.println("输入错误,请重新输入");
}
}
break;
}
}
//卖狗
private void sellDog(){
for(int i=0;i<pets.length;i++){
if(i==arrayTotal) {
pets[i] = acceptDog();
System.out.println("出售成功");
arrayTotal += 1;
goShop();
}
if(i==pets.length){
System.out.println("笼子已满,出售失败");
}
}
}
//卖猫
private void sellCat(){
for(int i=0;i<pets.length;i++){
if(i==arrayTotal){
pets[i]=acceptCat();
System.out.println("出售成功");
arrayTotal+=1;
goShop();
}
if(i==pets.length){
System.out.println("笼子已满,出售失败");
}
}
}
public void buyPet(int num1){
boolean flag=false;
for(;;){
if(!flag){
if(num1==1){
buyDog();
flag=true;
}else if(num1==2){
buyCat();
flag=true;
}else{
System.out.println("输入错误,请重新输入");
}
}
break;
}
}
//买狗
private Dog buyDog(){
acceptkind=acceptKind();
dog=checkDog(acceptkind);
return dog;
}
//买猫
private Cat buyCat(){
acceptlove=acceptLove();
cat=checkCat(acceptlove);
return cat;
}
public void showPets(){
}
public int acceptNum(){
Scanner scanner=new Scanner(System.in);
int num=scanner.nextInt();
return num;
}
public String acceptKind(){
System.out.println("请输入你要的品种");
Scanner scanner=new Scanner(System.in);
String kind =scanner.next();
if(kind.isEmpty()){
System.out.println("你没有输入值");
}
return kind;
}
public Dog acceptDog(){
dog=new Dog();
Scanner scanner=new Scanner(System.in);
System.out.println("请输入你出售狗的品种");
dog.setKind(scanner.next());
System.out.println("请输入你出售狗的性别");
dog.setSex(scanner.next().charAt(0));
System.out.println("请输入你出售狗的年龄");
dog.setAge(scanner.nextInt());
System.out.println("请输入你出售狗的名字");
dog.setName(scanner.next());
return dog;
}
public Cat acceptCat(){
cat=new Cat();
Scanner scanner=new Scanner(System.in);
System.out.println("请输入你的猫咪和主人的亲密度为多少?(0-100)");
cat.setLove(scanner.nextDouble());
System.out.println("请输入你出售猫咪的性别");
cat.setSex(scanner.next().charAt(0));
System.out.println("请输入你出售猫咪的年龄");
cat.setAge(scanner.nextInt());
System.out.println("请输入你出售猫咪的名字");
cat.setName(scanner.next());
return cat;
}
public double acceptLove(){
System.out.println("请输入你要的亲密度");
Scanner scanner=new Scanner(System.in);
double love =scanner.nextDouble();
return love;
}
public void goShop(){
System.out.println(name+"say:"+"你是要买宠物(1)?还是要出售宠物(2)?还是随便看看然后离开(0)?");
for(;;){
int num=acceptNum();//num是接收到的买还是卖的类型
switch (num){
case 0:
//逛一会就离开商店
break;
case 1:
System.out.println("请输入你要买的宠物,买小狗(1)?买小猫(2)");
num1=acceptNum();//num1是接收到的宠物类型
buyPet(num1);
break;
case 2:
System.out.println("请输入你要卖的宠物,卖小狗(1)?卖小猫(2)");
num1=acceptNum();//num1是接收到的宠物类型
sellPet(num1);
break;
default:
System.out.println("输入错误,请输入0-2的数");
break;
}
if(num==0){
break;
}
}
}
//选择狗的方法
public Dog checkDog(String kind){
boolean flag=false;
for(;;){
if(!flag){
if(kind.equals("exit")){
break;
}
for(int i=0;i<pets.length;i++){
if(pets[i] instanceof Dog){
Dog dog=(Dog)pets[i];
if(dog.getKind().equals(kind)){
System.out.println("dog"+i);
//输出宠物信息
System.out.println("kind is:"+dog.getKind());
System.out.println("name is:"+dog.getName());
System.out.println("sex is:"+dog.getSex());
System.out.println("age is:"+dog.getAge());
for(int j=i;j<pets.length;j++){
if(j+1<pets.length){
pets[j]=pets[j+1];
}
}
flag=true;
goShop();
}
}else{
if(i<pets.length-1){
continue;
}
System.out.println("你选择的品种本店没有,请重新输入");
kind=acceptKind();
count++;
if(count==5){
count=0;
System.out.println("店里没有你要的小狗了");
goShop();
}
}
}
}
}
System.out.println("已经没有狗可以出售了!");
goShop();
return dog;
}
//选择猫的方法
public Cat checkCat(Double love){
boolean flag=false;
for(;;){
if(!flag){
if(love.toString().equals("exit")){
break;
}
}
for(int i=0;i<pets.length;i++){
if(pets[i] instanceof Cat){
Cat cat=(Cat)pets[i];
if(cat.getLove()>=love-10&&cat.getLove()<=love+10){
//输出宠物信息
System.out.println("kind is:"+cat.getLove());
System.out.println("name is:"+cat.getName());
System.out.println("sex is:"+cat.getSex());
System.out.println("age is:"+cat.getAge());
for(int j=i;j<pets.length;j++){
if(j+1<pets.length){
pets[j]=pets[j+1];
}
}
flag=true;
goShop();
}
}else{
if(i<pets.length-1){
continue;
}
System.out.println("你选择的亲密度本店没有,请重新输入");
love=acceptLove();
count++;
if(count==5){
count=0;
System.out.println("店里没有你要的小猫了");
goShop();
}
}
}
}
System.out.println("已经没有小猫可以出售了!");
goShop();
return cat;
}
//出售狗的方法
public Dog sellDog(Dog dog){
for(;;){
if(dog.equals("exti")){
break;
}
for(int i=0;i<pets.length;i++){
if(pets[i].equals(dog)){
//输出宠物信息
dog= dog;
break;
}else{
System.out.println("你选择的品种本店没有,请重新输入");
}
}
}
return dog;
}
//出售猫的方法
public Cat sellCat(Cat cat){
for(;;){
if(cat.equals("exit")){
break;
}
for(int i=0;i<pets.length;i++){
if(pets[i].equals(cat)){
//输出宠物信息
cat= cat;
break;
}else{
System.out.println("你选择的品种本店没有,请重新输入");
}
}
}
return cat;
}
public static void main(String[] args) {
PetShop petShop=new PetShop();
Dog dog=new Dog("xh",'m',1,"hsq");
Dog dog1=new Dog("dh",'m',3,"eh");
petShop.pets[1]=dog;
petShop.pets[2]=dog1;
System.out.println(petShop.pets[9]);
petShop.goShop();
}
}