1.程序要求实现根据用户提供的名称在寄养的宠物中查找宠物并输出该宠物的类型及创建序号。
2程序提供对宠物的信息输出功能(信息输出,如:喂养序号为1,名称为大黄的宠物狗,可以输出“1 狗 大黄”),可根据类型输出所有类型相同的宠物;并可根据寄样序号,输出该序号之前所有当前在店中寄样的宠物。
我在设计时似乎用数组不能实现对宠物信息的储存和再读取,部分代码如下:
class Pet{
int rank;
int []number = new int[10];
String []name = new String[10];
char []species = new char[10];
PetShop st = new PetShop();
char D = 'd';
char C = 'c';
char R = 'r';
public void CreatePet() {
int m = 0;
System.out.println("请输入您宠物的昵称:");
for(int i = 0;i<10;i++) {
if(number[i] == m) {
name[i] = input01.nextLine();
number[i] = i;
if(chosenFounction02 == 1) {
species[i] = D;
}
else if (chosenFounction02 == 2) {
species[i] = C;
}
else if (chosenFounction02 ==3) {
species[i] = R;
}
System.out.println("您宠物的序号是:"+number[i]);
break;
}
else if(number[i] != 0) {
continue;
}
}//这是负责创建对象的代码
public void SearchPet(String str){
int times = 0;
for(int i = 0;i<10;i++){
if(name[i] == null) {
continue;
}
else if(name[i].equals(str)){
times++;
if(species[i] == 'd'){
System.out.println(i+" 狗 ");
}
else if(species[i] == 'c'){ //这里报错java.lang.NullPointerException
System.out.println(i+" 猫 ");
}
else if(species[i] == 'r'){
System.out.println(i+" 兔子 ");
}
break;
}
else{
if(times == 0){
System.out.println("很抱歉您的宠物不在我们商店里哦~");
dialog();
st.InputFounction();
}
else {
continue;
}
}//这是负责查询对象的代码