A_PPiers 2019-04-25 13:38 采纳率: 0%
浏览 494

java设计一个支持信息查询的宠物商店中遇到了问题

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;
                }
            }//这是负责查询对象的代码
  • 写回答

2条回答

  • a718089112 2019-04-25 13:50
    关注

    数组存储数据在内存,并不是持久化的数据(持久化就是永久保存:保存到数据库或者一个文件里面)。你要先把数据持久化,查询的时候从持久化中获取

    评论

报告相同问题?